create or replace procedure test_procedure is
begin
-- 迴圈列印1到5
--for idx in 1..5 loop
--dbms_output.put_line(idx);
--end loop;
-- 根據查詢到的資料進行遍歷並輸出
for idx in (select t.user_id from test_user t) loop
dbms_output.put_line(idx.user_id);
end loop;
end test_procedure;
declare
-- local variables here
i integer;
begin
-- test statements here
test_procedure();
end;
create or replace procedure test_procedure_parameter(in_id_list in varchar2) is
l_idx pls_integer;
v_list varchar2(4000) := in_id_list;
begin
loop
-- 獲取陣列長度
l_idx := instr(v_list, ',');
if l_idx > 0 then
dbms_output.put_line('未分隔之前:' || v_list);
-- 每迴圈一次字元擷取一次
v_list := substr(v_list, l_idx + length(','));
dbms_output.put_line('分隔之後:' || v_list);
else
dbms_output.put_line('最後一條資料:' || v_list);
exit;
end if;
end loop;
end test_procedure_parameter;
declare
-- local variables here
i integer;
begin
-- test statements here
test_procedure_parameter('張三,李四,王五,老王');
end;
Oracle迴圈插入儲存過程轉Mysql經驗積累
oracle迴圈插入儲存過程 oracle的入參可自定義object types 為陣列型別 create or replace procedure test pro newarray in msg array asdatacount number 10 newarray.count 2 取迴圈次數...
oracle 函式呼叫儲存過程操作
create or replace function fun plan station contrast groupid varchar2 return number is tmp varchar2 200 mycur sys refcursor res number 0 不符合條件的記錄條數 ty...
Oracle儲存過程呼叫儲存過程
oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...