再问一下,
在存储过程中定义一个变量呢?
不是设置参数!
是在哪个部分定义呢?
是在
As
Begin
是在它们之后定义吗?
如何定义呢?
如:@Object_Name Varchar(20)
@Object_Name=''
是不是这样的呢?
可不可以这样赋值呢?
请大家告诉我!
感激!谢了。

解决方案 »

  1.   

    As 前定义的是调用的输入输出阐述
       @a varchar(10) input   输入(input可以省略),
       @ba varchar(10) output 输出 
    As 后定义的为局部变量   declare @c varchar(10)
       set @c='abc'
      

  2.   

    用游标:declare  cursor_insert cursor for select c# from cs
    declare
    @i int
    open cursor_insert
    fetch cursor_insert into @i
    while @@fetch_status=0
    begin
      print @i
      fetch cursor_insert into @i
    end
    close cursor_insert
    deallocate cursor_insert
      

  3.   

    create  proc  proc_design  
    as  
    begin  
    set  nocount  on  ´这个开关语句是做什么用的?
    declare  @myid  int  
    declare  @name  varchar(256)  
    create  table  #tmp  (tablename  varchar(256),colname  varchar(256),typename  varchar(256),length  int,isnullable  int)  '这是不是在内存中建一个临时表?
    declare  my_cur  cursor  for  select  name  ,id  from  sysobjects  where  type  ='U'  
    open  my_cur  
    fetch  next  from  my_cur  into  @name,@myid  
    while  @@fetch_status  =  0  
    begin  
           insert  #tmp  select  @name,a.name  ,b.name  ,a.length,  a.isnullable  from  syscolumns  a,  systypes  b  where  a.xtype=b.xtype  and  a.id  =@myid  
           fetch  next  from  my_cur  into  @name,@myid  
    end  
     
    close  my_cur  
    deallocate  my_cur  
    select  *  from  #tmp  
    set  nocount  off  
    end
    高手能不能说明一下!
    可不可以在触发中调用存储过程呢?如果可以的话,怎样调用呢?
    能否举一个例子!
    谢谢上面的兄弟!
    再问一下,如何在SQL中调试自己的存储过程和触发呢?
     
      

  4.   

    1、
    nocount --不返回处理消息,比如“影响xx行”....2、
    #局部临时表是在tempdb库中3、
    可以
    exec 过程名 '参数'..
      

  5.   

    结贴,谢谢pengdali(大力 V2.0) 和 liucs(ming)  以及其他的兄弟们!