易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE PL/SQL包(package)学习笔记

包由包规范和包体两部分组成。
 
1、包规范(Package Specification)
包规范,也叫做包头,包含了有关包的内容的信息。但是,它不包含任何过程的代码。
创建包头的语法一般如下
 
CREATE [OR REPLACE] PACKAGE package_name {IS | AS}
Procedure_name | function_name | variable_declaration | type_definition | exception_declaration | cursor_declaration
END [package_name];
 
声明包头还要遵循一些语法规则,如下:
包部件可以以任意次序出现。但是,对象必须在被引用之前进行声明。
所有类型的部件都没有必要都被使用。例如,包可以仅包含过程和函数规范,而没有声明异常处理或类型。
对于过程和函数的所有声明都必须是前向声明。
 
2、包主体(Package Body)
包主体和包头存储在不同的数据字典中。如果没有对包头进行成功的编译,就不可能对包主体编译成功。主体中包含了在包头中前向子程序声明相应的代码。
 
包主体是可选的。如果包头不包含任何过程或函数,那么包主体可以没有。这个技术对于声明全局变量是很有用的,因为包中的所有对象在包的外面是可见的。
 
包头中的所有前向声明必须在包主体中被更新。过程或函数的规范在包头和包主体中必须是相同的。这个规范包括子程序的名字、参数的名字以及参数的模式。
 
3、包和作用域
在包头中定义的任何对象都有一定的范围,在包以外通过使用包名称限定仍然可以使用这些对象。例如,可以像下面PL/SQL块那样调用InventoryOps.DeleteISBN过程。
 
BEGIN
InventoryOps.DeleteISBN(‘78824389’);
END;
 
包过程的调用与单独的过程调用相同,唯一的区别就是在包过程的前面添加了包名称前缀。包过程可以带有默认的参数,可以使用位置表示法或者名称表示法调用它们,就像单独的存储过程一样。
 
包头中的对象在包主体中可以直接使用,不需要附带包名前缀。
 
4、包子程序的重载
在包中,过程和函数是可以重载的。这也就意味着可以让多个过程或函数共用同一个名称,但是带有不同的参数。这是一个非常有用的功能特性,因为它让同一个操作可以执行在不同类型的对象上。
 
下面示例演示了包子程序的重载
 
CREATE OR REPLACE PACKAGE InventoryOps AS

-- Returns an array containing the books with the specified status.
PROCEDURE StatusList(p_Status IN


相关文档:

pl plus执行本地的sql文件中的sql语句


功能:pl plus执行本地的sql文件中的sql语句
说明:比如:e:\zhaozhenlong下有create_table.sql文件,则按如下方法执行:
步骤:
1、在pl plus的 window下,
 
2、执行:
@e:\zhaozhenlong\drop_table.sql
@e:\zhaozhenlong\create_table.sql
......

sql时间函数详解

1.      当前系统日期、时间
        select getdate()
2. dateadd      在向指定日期加上一段时间的基础上,返回新的 datetime 值
       例如:向日期加上2天
    &nbs ......

SQL Server死锁总结

1. 死锁原理
    根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。
    死锁的四个必要条件:
互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。
请求与保持条件(Ho ......

SQL Server 2005 日志删除和日志文件限制(转)


SQL Server 2005 日志删除和日志文件限制(转)
2009年08月04日 星期二 下午 04:40
清除日志:
DECLARE @LogicalFileName sysname,
         @MaxMinutes INT,
         @NewSize INT
USE      szwzcheck ......

关于SQLSERVER中更新Text类型SQL语句解析

 基本方法:
                   
UPDATETEXT { table_name.dest_column_name dest_text_ptr }//{ 要更新的表以及 text、ntext 或 image 列的名称,指向要更新的 text、ntext 或 image 数据的文本指针的值(由 TEXT ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号