![Oracle_plsql讲义:第23章 使用子程序和包_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-12/30/21d20b30-58de-4ef6-b73b-87290a2f7a66/21d20b30-58de-4ef6-b73b-87290a2f7a661.gif)
![Oracle_plsql讲义:第23章 使用子程序和包_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-12/30/21d20b30-58de-4ef6-b73b-87290a2f7a66/21d20b30-58de-4ef6-b73b-87290a2f7a662.gif)
![Oracle_plsql讲义:第23章 使用子程序和包_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-12/30/21d20b30-58de-4ef6-b73b-87290a2f7a66/21d20b30-58de-4ef6-b73b-87290a2f7a663.gif)
![Oracle_plsql讲义:第23章 使用子程序和包_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-12/30/21d20b30-58de-4ef6-b73b-87290a2f7a66/21d20b30-58de-4ef6-b73b-87290a2f7a664.gif)
![Oracle_plsql讲义:第23章 使用子程序和包_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-12/30/21d20b30-58de-4ef6-b73b-87290a2f7a66/21d20b30-58de-4ef6-b73b-87290a2f7a665.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle SQL CREATE OR REPLACE PROCEDURE procedure_name parameter_list AUTHID CURRENT_USER | DEFINER IS | AS function_body; CREATE OR REPLACE PACKAGE package_spec_name AUTHID CURRENT_USER | DEFINER IS | AS package_spec; CREATE OR REPLACE TYPE type_name AUTHID CURRENT_USER | DEFINER IS | AS OBJECT type
2、_spec,在SQL语句中使用存储函数,PL/SQL 2.1版(Oracle 7的7.1版)及更高版本从SQL语句中调用子程序 根据用户定义函数的使用场合以及运行的数据库版本,函数必须满足不同限制。 函数的使用受纯度等级限制。纯度等级定义了函数读取或修改哪种数据结构,纯度等级,纯度等级,根据函数纯度等级,它调用将受到如下限制: 任何从SQL语句调用的函数不能修改任何数据库表(WNDS)。 为了实现远程运行(通过数据库连接)或并行运行,函数不能读取或写入包变量的值(RNPS和WNPS) 从SELECT,VALUES,或SET子句调用的函数可以写入包变量。所有其他子句中的函数都必须具有WNPS纯度
3、等级。 函数仅仅与它所调用的子程序具有同样的纯度等级。 不管存储PL/SQL函数具有何种纯度等级,都不能从CREATE TABLE或ALTER TABLE命令的CHECK约束子句中调用该存储PL/SQL函数。也不能使用该存储PL/SQL函数来为一个列指定缺省值,用户函数从SQL语句中调用满足的要求,函数必须要存储在数据库中,其形式可以是独立的函数,或作为包的一部分。不能是局部的 函数只能使用IN参数,不能使用IN OUT 或OUT 形参只能使用数据库类型,而不能使用诸如BOOLEAN或RECORD之类的PL/SQL类型。 函数的返回类型也必须是数据库类型 函数不能使用COMMIT或ROLLBA
4、CK约束当前事务,也不能回滚到函数运行前的断点。 函数也不能发出任何ALTER SESSION或ALTER SYSTEM命令,默认参数,从过程化语句中调用一个函数时,如果该函数有形参的话,可以使用其缺省值。然而,如果从SQL语句调用函数时,必须指定所有参数。 必须使用定位符(Positinal Notation),而不能使用命名符(Name Notation,在Oracle8i中从SQL语句调用函数,Oracle8i提供了TRUST关键字,用来代替或补充纯度等级参数。若使用了它,那么在编译标识中列出的限制就不会强制执行。 从Oracle8i起,从DML语句中调用的函数既不可以从正在被该DML语
5、句修改的数据库表读取数据,也不能对其进行修改,但该函数可以更新其他表,包的辅助功能,共享池锁定 包体长度的限制 优化参数,共享池锁定,DBMS_SHARED_POOL包允许程序员把一个对象锁定在共享池中。 当该对象被锁定后,除非由程序申请对其清除,否则无论共享池有多满,也不管是否有程序访问该对象,该对象将常驻在共享池中。 这种处理方法有利于提高程序的运行效率,因为从系统的磁盘重新装入对象要进行大量读写操作。锁定对象还有助于最大限度地减少共享池的碎片,共享池锁定,DBMS_SHARED_POOL.KEEP过程:用来在共享池中锁定对象。包、触发器、序列等可被锁定,独立过程和函数不能所定 DBMS_
6、SHARED_POOL.UNKEEP过程 DBMS_SHARED_POOL.SIZES过程:它把共享池的内容输出到屏幕 DBMS_SHARED_POOL.ABORTED_REQUEST_THRESHOLD过程:停止释放对象,包体长度的限制,编译器对包体长度的限制如下 : Diana树中的节点数。在Oracle8i之前的版本中,Diana节点的最大数目是32K,Oracle8i以上版本将包体和类型体的限制扩充到了64兆字节的容量。 编译器生成的临时中间变量的容量最多21K字节。 入口点的数量。一个包体最多可以有32K个入口点,入口点可以是过程或函数。 字符串的数量。PL/SQL对字符串的限制单位
7、是232,优化参数,使用DETERMINISTIC和PARALLEL_ENABLE关键字,PL/SQL编译优化器将会对调用PL/SQL函数进行优化。 该关键字要放在函数的返回类型和IS或AS子句之间,CREATE OR REPLACE FUNCTION function_name parameter_list RETURN return_type DETERMINISTIC PARALLEL_ENABLE IS|AS function_body,本章小结,通过访问各种数据库字典视图来查询子程序的信息。user_objects视图包含了当前用户拥有的所有对象的信息。user_source视图包含对象的源程序代码。user_errors视图则包含编译错误的信息。 预先声明可以解决函数之间相互调用的问题。 子程序引用其他数据库对象时,该子程序依赖于那个对象。如果修改了被引用对象,那么依赖对象的状态将更改为无效,指出需要重新编译。 在PL/SQL中使用的函数可以使用额外的限制,这被称为纯度等级。 共享池是在子程序运行时包含已编译子程序伪代码及其他代码的SGA的一部分。KEE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代科技驱动下的农业园区发展研究
- 科技企业如何通过激励机制激发员工创新能力
- 教育家庭养成良好的卫生习惯的策略
- 2025年福建信息职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析
- 2025年石家庄城市经济职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年石嘴山工贸职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析
- 科技驱动的智能红绿灯系统研究
- 2025年高功率高密度单端元件项目可行性研究报告
- 绿色农业科技园区的环保推广策略
- 2025年钢丝缠绕高压胶管项目可行性研究报告
- 外观判定标准
- 江西上饶市2025届数学高二上期末检测试题含解析
- 脑卒中后吞咽障碍患者进食护理团体标准
- 工行人工智能风控
- 2023风电机组预应力混凝土塔筒与基础结构设计标准
- 小学语文阅读教学落实学生核心素养方法的研究-结题报告
- 一年级的成长历程
- 2024年南京铁道职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 正月十五元宵节介绍课件
- 病毒性肺炎疾病演示课件
- 中考英语语法填空专项练习附答案(已排版-可直接打印)
评论
0/150
提交评论