关于T-SQL 存储过程的学习!!!(加深理解)

create   proc  p_getstr(
 
@s   varchar ( 8000 ), -- -- 测试串
  @new   varchar ( 8000 ) output -- - 输出串
)
as  
declare  
          
@pos   int   -- -定义位置参数
set   @pos = patindex ( ' %[a-z]% ' , @s -- ----FU值,目的用来下面的WHILE判断
set   @new = ''   -- ---FU值
while   @pos > 0  
 
begin
       
set   @pos = patindex ( ' %[a-z]% ' , @s -- ---这一句搞了大半天,我以前理解不写这个的,如不写这条语句,死CIRLCE
        select   @new = @new + substring ( @s , @pos , 1 ),
              
@s = stuff ( @s , 1 , @pos , '' )
       
 
end
 
select   @new   -- --一定在BEGIN END外写这一条语句,为两种情况
go

-- ------------------------------------------------------------
--
-----------------------调用存储过程-------------------
declare   @new   varchar ( 8000
exec  p_getstr  ' 命a已T成the功145完t2成 ' , @new  output
print   @new
 

你可能感兴趣的:(存储,output,测试,go)