搞不明白它为什么会报错?
create procedure proc_name 
(
   @para1 nvarchar(50),   
   @para2 int output 
)
as 
   set nocount on
   if (not exists(select * from tc where UName=@para1))
   begin
       insert into tc(UName) values(@para1)   
       select @para2=@@identity      
       return 1                                
   end
   else
      return 0                               
go消息 102,级别 15,状态 1,过程 proc_name,第 4 行
' ' 附近有语法错误。@para2 int output 这是第4行

解决方案 »

  1.   

    楼主很强,测试了n遍语法没问题
    最后发现(output  )怎么会跟个空格?
      

  2.   

    我复制过来发现:关键字output显示颜色不对改后ok(
    create   procedure   proc_name   

          @para1   nvarchar(50),       
          @para2   int   output  

    as   
          set   nocount   on 
          if   (not   exists(select   *   from   tc   where   UName=@para1)) 
          begin 
                  insert   into   tc(UName)   values(@para1)       
                  select   @para2=@@identity             
                  return   1                                                                 
          end 
          else 
                return   0                                                               
    go 
      

  3.   

    @para2 int output
    你把这句删了再重新写过吧,可能有中文空格
      

  4.   

    create proc pro_sum
    @a int=2,@b int=3,@sum int out
    as
    select @sum=@a+@bdeclare @sum int
    exec pro_sum @sum=@sum out
    select @sum as 'sum'sum
    5标准返回