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...