標籤:blog int ace one type 建立 procedure iat tac
此樣本的主要目的主要是為了瞭解在PL/SQL環境下怎麼建立和執行預存程序。
預存程序所涉及的DataTable:
第一步:建立遊標變數
遊標是ORACLE系統在記憶體中開闢的一個工作區,主要用來儲存SELECT的資料的。通俗的講就是用來儲存查詢資料的一個臨時的變數。
遊標的建立:
1 CREATE OR REPLACE PACKAGE pkg_query AS TYPE cur_query IS REF CURSOR;2 END pkg_query;
View Code
第二步:預存程序的建立
1 create or replace procedure PRO_TestDemo(p_name in NVARCHAR2, 2 p_datacount out VARCHAR2, 3 p_cur out pkg_query.cur_query) is 4 v_sql VARCHAR2(1000) := ‘‘; --用來儲存SQL語句的變數 5 v_datacount number := 0; --用來存放受影響的條數 6 begin 7 IF p_name IS NOT NULL OR p_name <> ‘‘ THEN 8 v_sql := ‘SELECT COUNT(*) FROM TEST1 a WHERE a.name=‘ || p_name; 9 EXECUTE IMMEDIATE v_sql10 INTO v_datacount;11 IF (v_datacount > 0) THEN --這邊的判斷是為了避免不必要的語句執行12 v_sql := ‘SELECT * FROM TEST1 a WHERE a.name=‘ || p_name;13 OPEN p_cur FOR v_sql;14 END IF;15 END IF;16 end PRO_TestDemo;
View Code
ORACLE預存程序的建立和執行的簡單樣本和一些注意點