ref cursor 在plsql中的一例

2021-05-27 22:03:41 字數 1368 閱讀 3761

ref cursor 可以作為c#的資料庫介面,但是在plsql中如何引用呢:舉乙個例子:

set serveroutput on ;

declare

v_tab_name varchar2(20);

v_version varchar2(10);

v_tab_crt_str varchar2(2000);

v_tab_col_name varchar2(50);

v_tab_col_type varchar2(50);

v_cons_*** varchar2(1);

type cust_cursor is ref cursor; 

tab_crt_cur cust_cursor;

begin

v_tab_name:='screlation';

open tab_crt_cur

for 'select version,name,name2,value ,cons_*** from changemanagementddl where name='''||v_tab_name||'''';

fetch tab_crt_cur into v_version, v_tab_name, v_tab_col_name, v_tab_col_type,v_cons_***;

v_tab_crt_str:='create table '||v_tab_name||'(  ';

while tab_crt_cur%found

loop

if v_cons_***='1' then      

v_tab_crt_str:=v_tab_crt_str||v_tab_col_name||'  '||substr(v_tab_col_type,instr(v_tab_col_type,',')+1)||',';

else

v_tab_crt_str:=v_tab_crt_str||v_tab_col_name||'  '||v_tab_col_type||',';

end if ;                        

fetch tab_crt_cur into v_version, v_tab_name, v_tab_col_name, v_tab_col_type,v_cons_***;

end loop;

v_tab_crt_str:=substr(v_tab_crt_str,1,length(v_tab_crt_str)-1)||')';

close tab_crt_cur ;

dbms_output.put_line(v_tab_crt_str);

end;

動態Ref Cursor的定義與呼叫

1.定義 type ref cur is ref cursor 2.動態cursor作為out引數 儲存過程的實現 舉個最簡單的例子,根據table name動態獲取cursor procedure p get cur i table name in varchar2,o ref cur out r...

在plsql中輸出SQL語句

如何在plsql中快速輸出一行語句甚至是乙個sql指令碼,比如你在頁面輸入se 然後快速得到select from 1 在plsql中,滑鼠單擊上面的 工具 選項,在下拉框中選擇 首選項 2 然後進入到首選項的對話方塊裡面,在左邊的 使用者介面 下單擊 編輯器 選項,如圖就會在右側出現可編輯的對話方...

在 PL SQL 中呼叫儲存過程 oracle

在 pl sql 中呼叫儲存過程 oracle 1 在sql的執行視窗中只能這樣呼叫 call out time 這樣執行就是把 call out time 當成乙個sql語句,而exec out time 不是乙個sql語句,是乙個執行體,執行體呼叫必須在命令視窗,把這句話當成乙個整體,也就是pl...