你试试不就知道了吗?
sp里没有;

解决方案 »

  1.   

    我是多表更新要不一表更新后时行检测以并进行下一表更新.
      

  2.   

    CREATE PROCEDURE dt_cyup
    @cy_bah varchar(9),
    @cy_cwh varchar(10),
    @cy_ksmc varchar(10),
    @cy_czy varchar(10),
    @cy_yj  money,
    @cy_return int output,
    @cy_err  varchar(20) output
    as
    DECLARE @er_h int
    SET @er_h=0
    begin tran t1
      update cw set sy='1' where cwh=@cy_cwh and ksmc=@cy_ksmc
      SET @er_h=@@error
      if @er_h<>0
      begin 
         rollback tran t1
         SET @cy_return= 1
         SET @cy_err= "在进行床位更新时出错"  
         return
      end
      update brk set 当前状态="3",出院日期=getdate(),出院办理员=@cy_czy  where 住院号=@cy_bah;
      SET @er_h=@@error
      if @er_h<>0
       begin   
       rollback tran t1
       SET @cy_return = 1
       SET @cy_err= "在进行病人停息表更新时出错" 
       return
     end
      update 住院用药 set 当前状态="3" where 住院号=@cy_bah and 当前状态="1"; 
      SET @er_h=@@error
      if @er_h<>0
         begin
         rollback tran t1
         set  @cy_return= 1
         set  @cy_err="在进行病人用药更新时出错"
         return
      end 
      update brfy set 当前状态="3" where 住院号=@cy_bah and 当前状态="1";
      SET @er_h=@@error
      if @er_h<>0
         begin
         rollback tran t1
         set @cy_return= 1
         set @cy_err="在进行费用表时更新时出错"
         return
     end
     if @cy_yj<>0 
        begin
        insert into yj(住院号,押金金额,操作员,押金说明) values(@cy_bah,@cy_yj,@cy_czy,'出院预交');
        SET @er_h=@@error
      if @er_h<>0
         begin
         rollback tran t1
         set @cy_return = 1 
         set @cy_err="在进行押金更新时出错"
         return
      end 
    end  
    commit tran t1
    SET @cy_return= 0
    GO
    我的存储像上面写的我运行没什么问题,大家帮我看看,我什么地方要改进并且我觉得用存储比直接用sql语句慢得多这是怎么回事.
      

  3.   

    哪位大侠帮我看看,已经好几天我快要结帐了.