前言
於Oracle中的游標是可以接收外部參數,透過外部傳入的參數進行如WHERE條件的篩選。
實作
游標參數語法如下
1
| CURSOR 游標名稱 (參數1 資料型態, 參數2 資料型態, ....) IS SELECT 敘述;
|
以下進行相關範例
1
2
3
4
5
6
7
8
9
10
11
| DECLARE
-- 宣告變數
V_TITLE ARTICLE.TITLE%TYPE := 'Apache';
-- 宣告游標
CURSOR C_ARTICLE (P_TITLE ARTICLE.TITLE%TYPE) IS SELECT * FROM ARTICLE WHERE TITLE LIKE '%' || P_TITLE || '%';
BEGIN
DBMS_OUTPUT.PUT_LINE('輸入參數: ' || V_TITLE);
FOR R_ARTICLE IN C_ARTICLE(V_TITLE) LOOP
DBMS_OUTPUT.PUT_LINE('ID: ' || R_ARTICLE.ID || ', TITLE: ' || R_ARTICLE.TITLE || ', CREATE_DATE: ' || R_ARTICLE.CREATE_DATE || ', MODIFY_DATE: ' || NVL(TO_CHAR(R_ARTICLE.MODIFY_DATE), '無'));
END LOOP;
END;
|
執行結果
1
2
3
4
| 輸入參數: Apache
ID: 7C5E3A5AD84CF0D3E050A8C0FD894690, TITLE: Apache Struts 2 檔案上傳, CREATE_DATE: 2018-12-07 12:16:20, MODIFY_DATE: 無
ID: 7C5E3A5AD84DF0D3E050A8C0FD894690, TITLE: Apache Struts 2 表單驗證 (驗證框架), CREATE_DATE: 2018-12-07 12:16:20, MODIFY_DATE: 無
ID: 7C5E3A5AD84EF0D3E050A8C0FD894690, TITLE: Apache Struts 2 攔截器設定與使用, CREATE_DATE: 2018-12-07 12:16:20, MODIFY_DATE: 無
|