oracle儲存過程迴圈操作

2021-10-19 18:46:26 字數 1304 閱讀 8885

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返回的個數一樣...