Stored PL/SQL
什么是Stored PL/SQL ?
存储的PL/SQL是指预编译的PL/SQL过程和PL/SQL函数,并存储在数据字典中以备处理。
处理关系表的多个应用程序可以多次引用或调用存储过程和函数。
存储过程和函数在处理(调用)时可以接受参数。
可以使用EXECUTE语句处理(调用)存储过程。
存储的函数可以在SQL语句中处理(调用)任何可以使用函数的地方,例如在SELECT语句中作为行函数
存储过程和存储函数可用于扩展SQL的数据检索和数据操作语句的功能(可扩展性),并消除数据库应用程序中的代码重复(可重用性)
存储过程和函数是用CREATE OR REPLACE PROCEDURE和CREATE OR REPLACE FUNCTION SQL语句创建的。
应用
- 可重用性
以存储过程或函数的形式实现一致性约束的验证,并将其处理权限授予数据库应用程序程序员。 - 可扩展性
假设我们有一个函数LCOURSES( dept_name ),这个函数返回一个由名称为参数值(dept_name) 的课程列表。
在SELECT语句中使用函数LCOURSES作为行函数
SELECT dept_name, LCOURSES( dept_name )
FROM DEPARTMENT;
从关系表DEPARTMENT检索的每一行都会调用函数LCOURSES,就像任何标准的行函数一样,例如UPPER函数。
CREATE OR REPLACE PROCEDURE 声明
CREATE OR REPLACE PROCEDURE 声明在数据字典中编译和存储PL/SQL过程。
下面的存储过程INSERT_COURSE将字符串参数的值转换为大写,并在关系表COURSE中插入一行:
CREATE OR