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

oracle包和REF CURSOR

     首先,需要重新整理一下相关概念,oracle数据库中函数的作用,是只能被别人调用,存储过程可以单独执行,并且可以调用存储过程,而包的作用包可以将任何出现在块声明的语句 ( 过程 , 函数 , 游标 , 游标 , 类型 , 变量 ) 放于包中 , 相当于一个容器 . 将声明语句放入包中的好处是 : 用户可以从其他 PL/SQL 块中对其进行引用 , 因此包为 PL/SQL 提供了全局变量,包分为包头和包体,包头先编译通过后才能编译包体。
包头的创建:
1) 包头 :
  语法格式 :
  CREATE OR REPLACE PACKAGE package_name  /* 包头名称 */
  IS|AS
  pl/sql_package_spec                     /* 定义过程 , 函数以及返回类型 , 变量 , 常量及数据类型定义 */
  定义包头应当遵循以下原则 :
  1) 包元素位置可以任意安排 . 然而在声明部分 , 对象必须在引用前进行声明 .
  2) 包头可以不对任何类型的元素进行说明 . 例如 , 包头可以只带过程和函数说明语句 , 而不声明任何异常和类型 .
  3) 对过程和函数的任何声明都必须只对子程序和其参数进行描述 , 不能有任何代码的说明 , 代码的实现只能在包体中出现 . 它不同于块声明 , 在块声明中 , 过程和函数的代码可同时出现在声明部分 .
2. 包体 :
  语法格式 :
  CREATE OR REPLACE PACKAGE BODY package_name/* 包名必须与包头的包名一致 */
  IS | AS
  pl/sql_package_body                    /* 游标 , 函数 , 过程的具体定义 */
包体是与包头相互独立的 , 包体只能在包头完成编译后才能进行编译 . 包体中带有包头中描述的子程序的具体实现的代码段 . 除此之外 , 包体还可以包括具有包体人全句属性的附加声明部分 , 但这些附加声明对于包头是不见的 .
Demo:
****************
*包
****************
create or replace package mypack
as
type mytype is ref cursor return emp%rowtype; --声明REF游标
function myemp(dno number) return mytype;
end;
****************
*body
****************
create or replace package body mypack
as
  function myemp(dno


相关文档:

oracle*用代码创建表空间,用户并赋权限

--创建表空间
create tablespace testSP
datafile 'E:\COMPANY\rbtsql\testSP.dbf'
size 100M AutoExtend On Next 10M Maxsize 2048M
--创建用户
create user janely identified by wawa
default tablespace testSP--默认表空间是 system
temporary tablespace temp--保存临时对象所使用的空间表
--赋权限
grant ......

Oracle 10g RAC OCR 和 VotingDisk 的备份与恢复


 
Oracle RAC 中OCR 和Voting Disk 备份在我的blog: Oracle RAC 常用维护工具和命令 中已经有说明,现在再次把它单独拿出做一个说明, 因为OCR 和 Voting Disk 对于RAC 系统来说太重要了。
Oracle RAC 常用维护工具和命令 ......

oracle merge into 的用法详解


作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表;
语法:
MERGE INTO [your table-name] [rename your table here]
USING ( [write your query here] )[rename your query-sql and using just like a table]
ON ([conditional expression here] AND [...]...)
WHEN MATHED THEN [here ......

oracle存储过程语法

存储过程 包含三部分: 声明,执行部分,异常。    
可以有无参数程序和带参数存储过程。    
无参程序语法    
1 create or replace procedure NoParPro   
2 as   ;   
3 begin   
4&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号