create Procedure pr_fnform_del
(
    @FNformno nvarchar(9),
    @applicant nvarchar(20),
    @delstatus nvarchar(1),
    @rt_upd_value int output,
    @rt_er_value int output
)
as 
begin tran
    if exists(select FNformno from Factory_Notice where (FNformno=@FNformno and applicant=@applicant))
       begin
          update Factory_Notice set delstatus=@delstatus where FNformno=@FNformno
          set @rt_upd_value=1
       end 
    else
       begin
          set @rt_upd_value=0
       end
    
    if @@error<>0 
       begin
          set @rt_er_value=1
          rollback tran
       end  
    else 
       begin
          set @rt_er_value=0
          commit tran
       end
declare @returnvalue int
exec @returnvalue=pr_fnform_del 'FN0711002','feng_ma','N'
select @returnvalue 
執行怎麼錯誤

解决方案 »

  1.   

    ----trydeclare @rt_upd_value int , @rt_er_value intexec   pr_fnform_del   'FN0711002','feng_ma','N',@rt_upd_value output ,@rt_er_value output
    select   @rt_upd_value  ,@rt_er_value
      

  2.   

    哦!
    為什麼這個可以
    create procedure pr_Fnform_add
    (
          @FNformno nvarchar(9),
          @formno nvarchar(3),
          @applicant nvarchar(20),
          @request_date datetime,
          @dept_FLG nvarchar(200),
          @RE_FLG nvarchar(100),
          @subject nvarchar(50),
          @attachment nvarchar(50),
          @model nvarchar(20),
          @model_FLG nvarchar(100),
          @customer nvarchar(50),
          @PhaseINtime nvarchar(50),
          @REF_NO nvarchar(50),
          @Whys nvarchar(50),
          @MaterialNote ntext,
          @ModifyNote ntext,
          @FNNote ntext,
          @flowid nvarchar(3),
          @returnvalue int output
    )
    asbegin TRAN
        insert into Factory_Notice (FNformno,formno,applicant,request_date,dept_FLG,RE_FLG,subject,attachment,model,model_FLG,customer,PhaseINtime,REF_NO,Whys,MaterialNote,ModifyNote,FNNote,flowid) values (@FNformno,@formno,@applicant,@request_date,@dept_FLG,@RE_FLG,@subject,@attachment,@model,@model_FLG,@customer,@PhaseINtime,@REF_NO,@Whys,@MaterialNote,@ModifyNote,@FNNote,@flowid)
      if @@ERROR<>0
        begin 
           set @returnvalue=1 
           rollback tran
        end 
      else
        begin 
           set @returnvalue=0 
           commit tran 
        enddeclare @returnvalue int
    exec @returnvalue=pr_Fnform_add 'test','num','feng_ma','2007/11/22','t','t','t','t','t','t','t','t','t','t','t','t','t','t','t','t','t','t','5','t','y'
    select @returnvalue沒有帶輸出參數可以