oracle包package的使用

创建包

包头

CREATE OR REPLACE PACKAGE test_pkg IS

PROCEDURE update_sal(e_name VARCHAR2,newsal NUMBER);     --  定义一个函数

FUNCTION ann_income(e_name VARCHAR2) RETURN NUMBER;    -- 定义一个存储过程

END;

包体:

CREATE OR REPLACE PACKAGE BODY test_pkg IS

PROCEDURE update_sal(e_name VARCHAR2,newsal NUMBER)

IS

BEGIN

UPDATE emp1 SET sal=newsal WHERE ename=e_name;

END;

FUNCTION ann_income(e_name VARCHAR2)

RETURN NUMBER IS

annsal NUMBER;

BEGIN

SELECT sal*12+NVL(comm,0) INTO annsal FROM emp1

WHERE ename=e_name;

RETURN annsal;

END;

END;

注意:文中黄色区域,包头和包体的命名要一模一样

3、调用包

内部调用:即在指的包里调用,直接调,不用写:包名.;

外部调用:包名.函数,或者包名.存过。

原文地址:https://www.cnblogs.com/651434092qq/p/12091640.html

时间: 2024-07-29 04:09:36

oracle包package的使用的相关文章

Oracle包Package调用Package

Package左侧文件: create or replace package CALL_DETAILS is strdatarange varchar2(1) := '1'; numrow_num number(5) := 1; numcol_num number(5) := 1; total_currency varchar2(2) := '01'; strgranularity_five varchar2(1) := '4'; procedure start_cal(strgranulari

Oracle 包(package)

1.包 包是一组相关过程.函数.变量.常量#SinaEditor_Temp_FontName.类型和游标等PL/SQL程序设计元素的组合.包具有面向对象设计的特点,是对这些PL/SQL程序设计元素的封装.一个包由两个分开的部分组成: (1)包package声明或定义:包定义部分是创建包的规范说明,声明包内数据类型.变量.常量.游标等元素.这部分也是为使用者提供了透明的接口. (2)包体packpage body:包体是包定义部分的具体实现. (3)将有联系的对象打成包,方便使用 (4)包中对象包

plsql的程序包package

9. 程序包--PACKAGE 9.1 包的定义和编译 包:一个PLSQL相关对象的逻辑分组和单个对象存储在数据库对象中的数据单元.相关的PLSQL对象包括:常量.变量.游标.异常.SP.FUN 包由两部分组成: 规范部分(包头.调用接口)  +  主体部分(包体.实现部分) (1) 包头的创建: create or replace package org_Master is     max_sites_for_an_org number;    type rc is ref cursor;  

Oracle——包

包用于在逻辑上组合过程和函数,它由包规范和包体两个部分组成.(1)首先用CREATE PACKAGE创建包规范,只包含过程和函数的说明,但没有过程和函数的实现代码 --创建一个包名称为sp_package--声明该包含有一个过程update_sal--声明该包含有一个函数annual_incomeCREATE OR REPLACE PACKAGE sp_package ISPROCEDURE update_sal(spname VARCHAR2, sal NUMBER);FUNCTION  an

Java调用Oracle存储Package

Oracle的包Package中可以有很多存储,可通过该包的总调入口在java中直接调用. //java调用oracle的package代码 public boolean cal() throws java.lang.Exception { CallableStatement cstmt = null; String procedure = "{call G_IMPORT_CAL.g_entry(?,?,?) }"; cstmt = conn.prepareCall(procedure

编写第一个ROS(创建工作空间workspace和功能包package)

刚接触ROS,学着写了第一个程序,怕以后忘记,就将其步骤记录下来.. 首先你必须保证你电脑已安装配置好ROS. 1.创建工作空间(workspace) 我们所创建功能包package,应该全部放到一个叫做工作空间(workspace)的目录中 .你可以把目录存储在你账号的任何位置例如,我所创建的工作空间的是路径/home,同时你可以用任何你喜欢的名字命名你的工作空间,我的工作空间名为 test,现在请使用标准的mkdir命令行去创建一个工作空间.我首先建立一个工作空间,名字为test, 此处创建

项目工程的包package与文件夹的关系

项目工程的包package与文件夹的关系: 1. 包名与文件夹是分层关系,包名只是一个字符串而已,包名.对应的是层级的文件夹. 如,com.Immoc.Access包,只是一个字符串.但他对应的windows存储文件夹层级关系则是,src/com/Imooc/Access多个文件夹.

Java包(Package)的详细用法(转)

Java包(Package)的详细用法 http://wenwen.soso.com/z/q229375145.htm 当一个大型程序交由数个不同的程序人员开发时,用到相同的类名是很有可能的,那么如果发生了这样的事件我们该怎么办那?,在我们java程序开发中为了避免上述事件,提供了一个包的概念(package),那么既然有了这样一种方法能避免上述事件,那么我们怎样使用package那?,使用方法很简单我们只需要在我们写的程序第一行使用package关键字来声明一个包就行了,例如我们来声明一个名为

Lua中的模块(module)和包(package)详解1

这篇文章主要介绍了Lua中的模块(module)和包(package)详解,本文讲解了require函数.写一个模块.package.loaded.module函数等内容,需要的朋友可以参考下 前言 从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包.require用于使用模块,module用于创建模块.简单的说,一个模块就是一个程序库,可以通过require来加载.然后便得到了一个全局变量,表示一个table.这个table就像是一个命