只允许接受 IN 模式的参数。
函数可以返回 BOOLEAN类型,但不能将返回 BOOLEAN 类型的函数应用到 SQL 语句中。
函数的限制:
只能出现查询语句;
不允许出现 DML 操作;
如果在对表 T 进行DML 语句操作调用函数 F,该函数 F 不能对编辑表 T 进行查询;
不允许出现 DDL 语句;
例:
create or replace function sal_m_fun(empl_sal number) return number is
Result number;
begin
第 89 页,共 106 页
…………………………………………………………Page 90……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
if empl_sal print name
NAME
…………………………………………………………………………………
King
SQL》 print sal
SAL
………………………
24000
begin
…Call the procedure
query_emp(p_id =》 :p_id;
p_name =》 :p_name;
p_salary =》 :p_salary;
p_m =》 :p_m);
end;
3。 inout 先传入后传出,可以直接赋予默认值;
编辑并存储;
SHO ERR 查看编辑时错误的命令;
exec 执行存储过程命令;
删除:DROP procedure;
5、管理 PL/SQL 程序块:
管理 PL/SQL程序块:
在用户自己的方案下有 CREATE 权限
对于其他用户的方案有 CREATE ANY 权限
存储过程,函数和包需要执行权限,触发器不需要。
当用户使用其他用户的存储过程或函数去访问其他用户的对象,
能否访问到对象取决与该存储过程或函数的拥有者的权限。
TUTHID CURRENT_USER 表示存储过程不依赖他的拥有者,而依赖与当前调用他的用户。
在 CREATE PROCEDURE 的最后添加。
查看信息:
user_objects;
user_source;
user_errors;
第 91 页,共 106 页
…………………………………………………………Page 92……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
query_emp;对过程的描述。
6、包(package)
一组相关类型的变量,常量,游标,存储过程,函数的集合。
1。组成:
包头:声明部分;只声明PUBLIC PROCEDURE/VARIABLE;
包体:程序实体,包含 PRIVATE PROCEDURE/VARIABLE 、PUBLIC PROCEDURE/VARIABLE 和 LOCAL
VARIABLE;
包头没有包体是可以独立存在的。
包头:
CREATE 'OR REPLACE' PACKAGE package_name
IS
public_type
PROCEDURE procdeure_name (parameter。。。。 );
END package_name;
包体:
CREATE 'OR REPLACE' PACKAGE BODY package_name
IS
private type and item declarations
subprogram bodies
end package_name;
2。构建没有包头的包:
为了在整个会话中的全局变量设计。
如果其他会话访问的话,和定义时候的回话得到的包的值有可能是不一样的。
包体的部分可以通过 WRAP 程序加密。
只有局部过程和被打包的过程才能 OVERLOAD(重载)。
前项声明:
将过程或函数的名称和参数放在包体的头部声明;
建立一次性的过程:
就是在包体中插入了一个匿名块,在包体执行的时候,该匿名块一定会先执行一次该匿名块,
然后再执行包体中的其他部分。
3。SQL中使用包函数的限制
函数中不能包含影响当前事务的语句;
如果在对表 T 进行DML 语句操作调用函数 F,该函数 F 不能对编辑表 T 进行查询;
包中变量的稳定性:
PUBLIC VARIABLE 发生改变的情况:
第 92 页,共 106 页
…………………………………………………………Page 93……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
重新建立会话
符合规则
4。与开发相关的系统包:
小说推荐
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 其他
- 最新章:第214章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 其他
- 最新章:第4章
- VC语言6.0程序设计从入门到精通
- -Page 1-Visual C 6.0 程序设计从入门到精通求是科技 王正军 编著
- 其他
- 最新章:第136章
- SQL 21日自学通(V3.0)(PDF格式)
- -Page 1-SQL 21 日自学通(V1.0 翻译人 笨猪目录目录 1译者的话 14第一周概貌 16从这里开始 16
- 其他
- 最新章:第170章
- 深入浅出MFC第2版(PDF格式)
- -Page 1-Page 2-山高月小山高月小 水落石出水落石出山高月小山高月小 水落石出水落石出-Page 3-深入淺出MFC(第版 使用Visual C 5.0 MFC 4.2)Dissecting MFC(Second Edition Using Visual C 5.0 MFC 4.2)侯俊
- 其他
- 最新章:第309章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 其他
- 最新章:第28章
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 其他
- 最新章:第27章
- JSP入门教程(DOC格式)
- -Page 1-jsp 入门教程0.0.1版权(c 2008 叮咚老菜鸟叮咚对文档的任何问题或建议,请给叮咚发邮件或留言。QQ:475784337QQ 群:51239192MSN:lingirl6@hotmail.EMAIL:lingirl6@hotmail.2008-02-28 20:05:061
- 其他
- 最新章:第37章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 其他
- 最新章:第143章