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;
分享到:
相关推荐
Package中的全局变量是其重要组成部分,它们在同一个会话(session)内具有持久性。这意味着在会话期间,这些变量的值可以被多次调用的过程或函数共享和修改,但不会影响到其他会话中的变量状态。这类似于面向对象编程...
oracle db内部的package全部是加密的,需要解密使用oracle wrap加密过的程序包,而unwrap解密工具可以拿到明文的package源代码。 解密的理论依据都来源于 "The oracle hacker's handbook" by David Litchfield 这...
1. **Package 规范 (Package Specification)**:定义了Package中的公共接口,包括所有对外可见的数据类型、变量、常量、游标和子程序等。这部分通常被称作Package的头部或签名。 2. **Package 实现 (Package Body)**...
在C#部分代码中,我们首先需要建立一个到ORACLE数据库的连接,然后使用OracleCommand对象调用PACKAGE中的方法和存储过程。在调用f_get函数时,我们需要将输入参数str传递给函数,并将返回值存储在result参数中。在...
总之,Oracle JDBC Driver Package是Java开发者与Oracle数据库之间的重要桥梁,提供了丰富的功能和优化选项,使得在Java环境中开发数据库应用变得更加便捷和高效。在实际开发中,结合最佳实践和性能调优策略,可以...
centos7 安装oracle所需其他包,在安装oracle的过程中,有些包用yum的方式下载不了,故zip打包的是oracle所属的安装包,文件是rpm格式文件,这是centos7安装oracle所需离线包
总的来说,这个"oracle汉字转拼音package包-支持UTF8"是一个非常实用的工具,可以帮助我们在Oracle数据库环境中有效地处理汉字到拼音的转换问题,尤其适用于处理UTF8编码的多语言数据。正确理解和使用这个Package,...
oracle SQL Package破解工具
在上传的文件中,"包调用.sql"很可能是包含对Package中过程或函数的调用语句,例如: ```sql BEGIN 包名.过程名(参数); DBMS_OUTPUT.PUT_LINE(包名.函数名(参数)); END; / ``` "包 体.txt"和"包.txt"分别可能包含...
脚本包含一个oracle的package,可以实现汉字转换成拼音和拼音首字母
在安装"oracle_11g_package.zip"中的RPM包时,需要注意以下几点: 1. 确保操作系统版本与Oracle 11g RAC兼容,通常需要是Red Hat Enterprise Linux或CentOS等企业级Linux发行版。 2. 在安装前,执行`rpm -qa`命令...
总的来说,"oracle汉字转拼音package_(UTF8)"是一个实用的工具,可以帮助开发人员在Oracle数据库中处理中文数据,特别是在需要进行拼音搜索或分析的场景下。了解并掌握这个包的使用,可以提升你在处理中文信息时的...
oracleasm-support、oracleasmlib、kernel-firmware、bfa-firmware、kmod-oracleasm及安装步骤
pl_sql创建包,简单易懂,对于初学者......
标题和描述中提到的“大型项目Oracle sql,function,procedures,package,cursor,job”涉及的是Oracle数据库管理和开发的核心概念。以下是对这些概念的详细解释: 1. **SQL(Structured Query Language)**:SQL...
Oracle 11gR2 pl/sql package and type 参考手册
免费,轻量的Oracle数据库工具,库和SDK,用于构建应用程序并将其连接到Oracle数据库实例。 此为集合包,版本均为11.2.0.4.0,适用于64位的Linux系统,包含zip及rpm两种格式: Basic Basic Light JDBC Supplement ...
plsql 中package实例,在oracle中package使用实非常广泛的,在此发一个实例,供大家参考
Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,尤其在企业级应用中占据主导地位。在Red Hat Enterprise Linux 6.5 (RHEL 6.5)上部署Oracle Database 12c并结合ASM(Automatic Storage Management)...
这里面包含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