存储过程选择期间出错但SQL选择中没有错误

时间:2017-11-10 08:19:09

标签: sql stored-procedures sybase

从标题中,当我运行存储过程时,会显示错误。但是当我手动运行产生错误的select语句时,SQL中没有问题。

存储过程的这一部分产生错误:

"

  select @ls_pat_origin = pat_origin, 
         @ls_payer_tp = payer_tp 
  from ip_admission 
  where hos_cd = @as_hos_cd and 
        hrn_num = @as_hrn_num and 
        episode_num = @al_episode_num and 
        pat_tp = @as_pat_tp 

  select @err = @@error, @rc = @@rowcount 
  if (@err <> 0) 
  begin 
    rollback tran pr_oe_set_disc_ptg_tran 
    return 1  
  end 

  if ((@rc <= 0) and (@err = 0)) 
  begin 
    rollback tran pr_oe_set_disc_ptg_tran 
    raiserror 25009, 'ip_admission [pr_oe_set_disc_ptg]' 
    return 2  
  end  

&#34;

但是当我在SQL中运行select语句时,不会出现任何问题和结果:

&#34;

select *
  from ip_admission 
  where hos_cd = '62' and 
        hrn_num = '6203175322017' and 
        episode_num = 2 and 
        pat_tp = 'I'
;

&#34;

我仔细检查了传递给过程的值,它们与我在SQL select语句中使用的值相同。它只发生在这一条记录中。我们将此存储过程用于其他记录,其他记录没有问题。

感谢您的帮助。

这是存储过程错误:

&#34;

Could not execute statement.
Error occurred while selecting from ip_admission [pr_oe_set_disc_ptg].
Sybase error code=25009, SQLState="(none)"
Severity Level=16, State=1, Transaction State=0
Line 69

&#34;

0 个答案:

没有答案