`
fei_6666
  • 浏览: 207687 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle中的package

阅读更多
oracle中的package
(2006-12-21 20:57:46)
转载
  分类:oracle学习

oracle中将function以及procedure单独运行与将其放入package中有何不同:

package提供了方便的管理,可以把对于一张表的所有操作,都放到一个包中。最大的优势在于你可以在包中声明一个“游标变量”类型,包中的存储过程就可以用该游标类型的变量“返回记录集”,oracle和sql server的最大不同就是不能直接用select语句返回记录集的,必须用游标。

下例emp_actions package包含两个procedures和一个函数:

CREATE OR REPLACE PACKAGE emp_actions AS

  PROCEDURE hire_employee (employee_id NUMBER, last_name VARCHAR2, first_name VARCHAR2, email VARCHAR2, phone_number VARCHAR2, hire_date DATE, job_id VARCHAR2, salary NUMBER, commission_pct NUMBER, manage_id NUMBER, department_id NUMBER);

PROCEDURE fire_employee (emp_id NUMBER);

FUNCTION num_above_salary (emp_id NUMBER) RETURN NUMBER;

END emp_actions;

CREATE OR REPLACE PACKAGE BOOY emp_actions AS

  PROCEDURE hire_employee (employee_id NUMBER, last_name VARCHAR2, first_name VARCHAR2, email VARCHAR2, phone_number VARCHAR2, hire_date DATE, job_id VARCHAR2, salary NUMBER, commission_pct NUMBER, manage_id NUMBER, department_id NUMBER) IS

  BEGIN

    INSERT INTO employees VALUES (employee_id, last_name, first_name, email, phone_number, hire_date, job_id, salary, commission_pct, manager_id, department_id);

    END hire_employee;

  PROCEDURE fire_employee (emp_id NUMBER) IS

    BEGIN

      DELETE FROM employees WHERE employee_id = emp_id;

    END fire_employee;

  FUNCTION num_above_salary (emp_id NUMBER) RETURN NUMBER IS

      emp_sal NUMBER(8,2);

      num_count NUMBER;

  BEGIN

    SELECT salary INTO emp_sal FROM employees WHERE employee_id = emp_id;

    SELECT COUNT(*) INTO num_count FROM employees WHERE salary > emp_sal;

    RETURN num_count;

  END num_above_salary;

END emp_actions;
分享到:
评论

相关推荐

    Oracle中的package对象

    Package中的全局变量是其重要组成部分,它们在同一个会话(session)内具有持久性。这意味着在会话期间,这些变量的值可以被多次调用的过程或函数共享和修改,但不会影响到其他会话中的变量状态。这类似于面向对象编程...

    ORACLE 内置package解密工具(unwrap )

    oracle db内部的package全部是加密的,需要解密使用oracle wrap加密过的程序包,而unwrap解密工具可以拿到明文的package源代码。 解密的理论依据都来源于 "The oracle hacker's handbook" by David Litchfield 这...

    Oracle package

    1. **Package 规范 (Package Specification)**:定义了Package中的公共接口,包括所有对外可见的数据类型、变量、常量、游标和子程序等。这部分通常被称作Package的头部或签名。 2. **Package 实现 (Package Body)**...

    C#中调用ORACLE的PACKAGE里方法和存储过程的应用

    在C#部分代码中,我们首先需要建立一个到ORACLE数据库的连接,然后使用OracleCommand对象调用PACKAGE中的方法和存储过程。在调用f_get函数时,我们需要将输入参数str传递给函数,并将返回值存储在result参数中。在...

    oracle jdbc diver package 正版

    总之,Oracle JDBC Driver Package是Java开发者与Oracle数据库之间的重要桥梁,提供了丰富的功能和优化选项,使得在Java环境中开发数据库应用变得更加便捷和高效。在实际开发中,结合最佳实践和性能调优策略,可以...

    centos7-oracle-package.zip

    centos7 安装oracle所需其他包,在安装oracle的过程中,有些包用yum的方式下载不了,故zip打包的是oracle所属的安装包,文件是rpm格式文件,这是centos7安装oracle所需离线包

    oracle汉字转拼音package包-支持UTF8

    总的来说,这个"oracle汉字转拼音package包-支持UTF8"是一个非常实用的工具,可以帮助我们在Oracle数据库环境中有效地处理汉字到拼音的转换问题,尤其适用于处理UTF8编码的多语言数据。正确理解和使用这个Package,...

    oracle SQL Package破解工具2

    oracle SQL Package破解工具

    Oracle数据库Package

    在上传的文件中,"包调用.sql"很可能是包含对Package中过程或函数的调用语句,例如: ```sql BEGIN 包名.过程名(参数); DBMS_OUTPUT.PUT_LINE(包名.函数名(参数)); END; / ``` "包 体.txt"和"包.txt"分别可能包含...

    汉字转成拼音和拼音首字母的 oracle 的package

    脚本包含一个oracle的package,可以实现汉字转换成拼音和拼音首字母

    oracle_11g_package.zip

    在安装"oracle_11g_package.zip"中的RPM包时,需要注意以下几点: 1. 确保操作系统版本与Oracle 11g RAC兼容,通常需要是Red Hat Enterprise Linux或CentOS等企业级Linux发行版。 2. 在安装前,执行`rpm -qa`命令...

    oracle汉字转拼音package_(UTF8)

    总的来说,"oracle汉字转拼音package_(UTF8)"是一个实用的工具,可以帮助开发人员在Oracle数据库中处理中文数据,特别是在需要进行拼音搜索或分析的场景下。了解并掌握这个包的使用,可以提升你在处理中文信息时的...

    Oracle_Linux6.3_oracleasm_Package_installstep

    oracleasm-support、oracleasmlib、kernel-firmware、bfa-firmware、kmod-oracleasm及安装步骤

    oracle_package

    pl_sql创建包,简单易懂,对于初学者......

    大型项目Oracle sql,function,procedures,package,cursor,job

    标题和描述中提到的“大型项目Oracle sql,function,procedures,package,cursor,job”涉及的是Oracle数据库管理和开发的核心概念。以下是对这些概念的详细解释: 1. **SQL(Structured Query Language)**:SQL...

    Oracle 11gR2 pl/sql package and type 参考手册

    Oracle 11gR2 pl/sql package and type 参考手册

    Oracle Instant Client Package For Linux(x64) - Version 11.2.0.4.0

    免费,轻量的Oracle数据库工具,库和SDK,用于构建应用程序并将其连接到Oracle数据库实例。 此为集合包,版本均为11.2.0.4.0,适用于64位的Linux系统,包含zip及rpm两种格式: Basic Basic Light JDBC Supplement ...

    plsql package 实例

    plsql 中package实例,在oracle中package使用实非常广泛的,在此发一个实例,供大家参考

    Oracle DB+ASM package for RedHat 6.5

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,尤其在企业级应用中占据主导地位。在Red Hat Enterprise Linux 6.5 (RHEL 6.5)上部署Oracle Database 12c并结合ASM(Automatic Storage Management)...

    Linux上搭建Oracle数据库需要的各种package

    这里面包含compat-libstdc++-33-3.2.3-61.i386.rpm、libaio-0.3.105-2.i386.rpm、libaio-devel-...2.2.11-7.1.x86_64.rpm、unixODBC-devel-2.2.11-7.1.i386.rpm、unixODBC-devel-2.2.11-7.1.x86_64.rpm等10 多个package

Global site tag (gtag.js) - Google Analytics