开发子程序
开发过程
建立过程 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--用于限制函数不能读取包变量(不能将包变量赋值给其他变量) 
|