如何打印奇怪的旧式光标

时间:2017-10-18 15:54:10

标签: oracle

我有一个光标

 CURSOR c_trd(pi_bps_batch_seq VARCHAR2) IS    
    SELECT    
      bps_batch_seq    
      , hetid    
      , op_code    
      , seg_data    
      , xmit_dt    
      , xmit_batch_file    
      , blotter_code    
      , fn_bos(contra_party_acct,hcact,minor_clr_broker) BOS_O    
      , bos      
      , ats_ind    
      ,CASE tob_ind    
        WHEN  NULL THEN tob_ind    
        WHEN 'M930' THEN  'MH'    
       END    
    FROM intact_msrb_vw A         
    WHERE bps_batch_seq = pi_bps_batch_seq                 AND    
      xmit_dt       IS NULL    
    FOR UPDATE OF xmit_dt,xmit_batch_file,bos    
    ;    

     lv_next_seq      tran_queue_bps_batch.bps_batch_seq%TYPE;  

如何打印光标值?
这不是我的SP,很老,我不明白,是什么

pi_bps_batch_seq VARCHAR2 
光标中的

有人能帮助我吗?

由于

1 个答案:

答案 0 :(得分:0)

CURSOR不是“奇怪的老式游标”。它是带有参数的CURSOR。 <{1}}在打开光标时应该是一个参数。

在您的存储过程中,您可以按如下方式打开并从pi_bps_batch_seq VARCHAR2获取。

CURSOR

当你OPEN c_trd( <value_for_pi_bps_batch_seq>); LOOP FETCH c_trd INTO .... 这样的光标时,OPEN中的RHS 将被您传递的值替换。

修改

  

但是如何在SP中打印光标值? DBMS.OUTPUT-PUTLINE?

这是一种方式。

WHERE bps_batch_seq = pi_bps_batch_seq