开发子程序
开发过程
建立过程
CREATE [OR REPLACE] PROCEDURE procedure_name(argument1 [mode1] datatype1,...)
IS[AS]
PL/SQL Block;
IS或AS用于开始一个PL/SQL块 mode可以是IN,OUT,IN OUT,默认是IN
参数传递方式
位置传递
调用子程序时,按照参数定义的顺序依次为参数指定相应变量或者数值
名称传递
调用子程序是指定参数名,并使用关联符号=>为其提供相应的数值或变量
组合传递
同时使用上述两者
删除过程
DROP PROCEDURE procedure_name;
开发函数
建立函数
CREATE [OR REPLACE] FUNCTION function_name(argument1 [mode1] datatype1,...)
RETURN datatype
IS[AS]
PL/SQL Block;
RETURN指定函数返回值的数据类型,函数体内要至少包含一条RETURN语句
开发包
包用于逻辑组合PL/SQL类型(TABLE类型和RECORD类型),PL/SQL型(游标和游标变量)和PL/SQL子程序(过程和函数)。它由包规范(Packege SPecification)和包体(Package Body)两部分组成。
建立包
建立包规范
包规范用于定义包的公用组件(常量、变量、游标、过程、函数)
CREATE [OR REPALCE] PACKAGE package_name
IS | AS
public type and item declarations
subprogram specifications
END package_name;
建立包体
用于实现包规范锁定义的过程和函数
CREATE [OR REPALCE] PACKAGE BODY package_name
IS | AS
private type and item declarations
subprogram bodies
END package_name;
调用包组件--包名.组件名
纯度级别(purity level)
定义
PRGMA RESTRICT_REFERENCES (function_name,WNDS,[WNPS][,RNDS][,RNPS]);
WNDS--用于限制函数不能修改数据库数据(禁止执行DML)
WNPS--用于限制函数不能修改包变量(不能给包变量赋值)
RNDS--用于限制函数不能读取数据库数据(禁止执行SELECT操作)
RNPS--用于限制函数不能读取包变量(不能将包变量赋值给其他变量)
本文围绕PL/SQL开发展开,介绍了子程序的开发过程,包括建立、参数传递方式和删除;阐述了函数的开发,说明了返回值类型和语句要求;还讲解了包的开发,涵盖包规范和包体的建立及调用,同时提到了纯度级别的定义。
1216

被折叠的 条评论
为什么被折叠?



