一、不帶引數的遊標for迴圈
1
首先編寫儲存過程的整體結構,如下:
create or replace procedure test_proc is
v_date date; --變數定義
begin
select sysdate into v_date from dual;
end test_proc;
2
定義遊標:
v_date date; --定義變數
cursor cur is select * from ldcode; --定義遊標
3
編寫for迴圈:
cursor cur is select * from ldcode where rownum
--遊標for迴圈開始
for temp in cur loop --temp為臨時變數名,自己任意起
Dbms_Output.put_line(temp.Code); --輸出某個欄位,使用"變數名.列名"即可。
end loop;
--遊標for迴圈結束
4
END
二、帶引數的遊標for迴圈
定義帶引數的遊標:
cursor cur(v_codetype ldcode.Codetype%TYPE) is
select * from ldcode where codetype = v_codetype; --定義遊標
定義遊標格式:
cursor 遊標名稱(變數定義) is 查詢語句;
注意:
where條件中的變數名v_codetype要與遊標定義cur(v_codetype ldcode.Codetype%TYPE)中的一致。
編寫for迴圈部分:
for temp in cur("llmedfeetype") loop
--temp為臨時變數名,自己任意起
--cur("llmedfeetype")為"遊標名稱(傳入的變數)"
一、不帶引數的遊標for迴圈
1
首先編寫儲存過程的整體結構,如下:
create or replace procedure test_proc is
v_date date; --變數定義
begin
select sysdate into v_date from dual;
end test_proc;
2
定義遊標:
create or replace procedure test_proc is
v_date date; --定義變數
cursor cur is select * from ldcode; --定義遊標
begin
select sysdate into v_date from dual;
end test_proc;
3
編寫for迴圈:
create or replace procedure test_proc is
v_date date; --定義變數
cursor cur is select * from ldcode where rownum
begin
select sysdate into v_date from dual;
--遊標for迴圈開始
for temp in cur loop --temp為臨時變數名,自己任意起
Dbms_Output.put_line(temp.Code); --輸出某個欄位,使用"變數名.列名"即可。
end loop;
--遊標for迴圈結束
end test_proc;
4
END
二、帶引數的遊標for迴圈
1
定義帶引數的遊標:
cursor cur(v_codetype ldcode.Codetype%TYPE) is
select * from ldcode where codetype = v_codetype; --定義遊標
定義遊標格式:
cursor 遊標名稱(變數定義) is 查詢語句;
注意:
where條件中的變數名v_codetype要與遊標定義cur(v_codetype ldcode.Codetype%TYPE)中的一致。
2
編寫for迴圈部分:
--遊標for迴圈開始
for temp in cur("llmedfeetype") loop
--temp為臨時變數名,自己任意起
--cur("llmedfeetype")為"遊標名稱(傳入的變數)"
Dbms_Output.put_line(temp.Code); --輸出某個欄位,使用"變數名.列名"即可。
end loop;
--遊標for迴圈結束
3