1樓:隨o天
建立:create or replace procedure t_ts(ref_cur out sys_refcursor) as
begin
open ref_cur for select leixing from diaobodan;
end t_ts;
呼叫:declare
s_cur sys_refcursor;
v_leixing varchar2(100);
begin
t_ts(s_cur);
loop
fetch s_cur into vv_name;
exit when s_cur%notfound;
dbms_output.put_line(v_leixing);
end loop;
end;
是這個意思嗎?
2樓:
1.既然你在迴圈的時候儲存變數到遊標,又迴圈遊標操作,為什麼你不在一個迴圈中,得到返回值然後對返回值進行操作呢?
2.select * from a where a.id=?
在oracle中用select * from a where a.id=&a的形式實現,你可以試試 會提示你輸入變數
Oracle儲存過程和函式的區別
錢包鼓鼓的 1.返值區別,函式1返值,儲存程通引數返,或者沒 2.呼叫區別,函式查詢語句直接呼叫,儲存程必須單獨呼叫.函式般情況用計算並返計算結儲存程般用完特定資料操作 比修改 插入資料庫表或執行某些ddl語句等等 oracle函式儲存程經使用語相似自特點剛完函式儲存程面家享自總結關於函式儲存程區別...
oracle 儲存過程中in條件傳引數
樓上的可以,不過有些語法錯誤,我改改,呵呵 create or replace procedure pd1 p 1 number,p 2 number,p 3 number isv sql varchar2 4000 begin v sql select from table where id in...
這個oracle自動生成編號的儲存過程為什麼執行不了
oracle 自動生成標識列可以用序列。a 建立序列 create sequence 序列名start with 起始位置 increment by增量大小 maxvalue 最大值 沒有這些nomaxvalue cycle nocycle 是否迴圈 例如 create sequence seq s...