回覆列表
  • 1 # 藍風24

    一、不帶引數的遊標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

  • 中秋節和大豐收的關聯?
  • 為什麼明朝歷史上大多數時候沒有發生過黃河絕口?