练习:在动态SQL块中调用子程序。(使用HR方案)
|
-- 11g12_07_01.sql -- 1. 查看Departments表中原始数据 SELECT * FROM Departments; -- 2. 创建CreateDept存储过程 -- 3. 执行11g12_07_01.tst测试该存储过程 -- 1. 再次查看Departments表中的数据 |
|
-- 11g12_07_01.prc CREATE OR REPLACE PROCEDURE CreateDept ( deptid IN OUT NUMBER, dname IN VARCHAR2, mgrid IN NUMBER, locid IN NUMBER ) AS BEGIN deptid := departments_seq.NEXTVAL; INSERT INTO departments VALUES (deptid, dname, mgrid, locid); END; |
|
-- 11g12_07_01.tst DECLARE plSQLBlock VARCHAR2(500); newDeptID NUMBER(4); newDName VARCHAR2(30) := 'Advertising'; newMGrid NUMBER(6) := 200; newLocID NUMBER(4) := 1700; BEGIN -- 动态PL/SQL块调用子程序: plSQLBLock := 'BEGIN CreateDept(:a, :b, :c, :d); END;';
-- 使用USING子句指定绑定变量,且对第1个参数指定了IN OUT模式 EXECUTE IMMEDIATE plSQLBlock USING IN OUT newDeptID, newDName, newMGrid, newLocID; COMMIT; END; |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1123730/ ,如需转载,请注明出处,否则将追究法律责任。