欢迎光临
我们一直在努力

嗨 甲骨文【3】-数据库专栏,SQL Server

建站超值云服务器,限时71元/月

开发子程序

开发过程

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 嗨 甲骨文【3】-数据库专栏,SQL Server
分享到: 更多 (0)