語法結構:
-- 程序
CREATE OR REPLACE PROCEDURE PROC_NAME(PARAMS) AS PL/SQL_BLOCK;
-- 函數
CREATE OR REPLACE FUNCTION FUNC_NAME(PARAMS) RETURN DATATYPE AS PL/SQL_BLOCK;
CREATE OR REPLACE PROCEDURE TEST_PROCEDURE AS
V_F11 NUMBER := 1;
V_F12 NUMBER := 2;
V_F21 VARCHAR2(20) := 'FIRST';
V_F22 VARCHAR2(20) := 'SECOND';
BEGIN
INSERT INTO T1 VALUES (V_F11, V_F21);
INSERT INTO T1 VALUES (V_F12, V_F22);
END TEST_PROCEDURE;
編譯通過後可在其他 PL/SQL 區塊或程序中呼叫。函數用法類似。
游標指向 DML 查詢傳回的結果集。語法:
CURSOR CURSOR_NAME IS SQL_STATEMENT;
操作流程:OPEN → FETCH ... INTO → CLOSE。隱性游標屬性:%FOUND、%NOTFOUND、%ROWCOUNT、%ISOPEN。