oracle pl/sql 包

包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。
1)、我们可以使用create package命令来创建包,如:
i、创建一个包sp_package
ii、声明该包有一个过程update_sal
iii、声明该包有一个函数annual_income

--声明该包有一个存储过程和一个函数
create package sp_package is
procedure update_sal(name varchar2, newsal number);
function annual_income(name varchar2) return number;
end;

  

2)、建立包体可以使用create package body命令
给包sp_package实现包体

复制代码
CREATE OR REPLACE PACKAGE BODY SP_PACKAGE IS
--存储过程
PROCEDURE UPDATE_SAL(NAME VARCHAR2, NEWSAL NUMBER) IS
BEGIN
UPDATE EMP SET SAL = NEWSAL WHERE ENAME = NAME;
COMMIT;
END;

--函数
FUNCTION ANNUAL_INCOME(NAME VARCHAR2) RETURN NUMBER IS
ANNUAL_SALARY NUMBER;
BEGIN
SELECT SAL * 12 + NVL(COMM, 0) INTO ANNUAL_SALARY FROM EMP WHERE ENAME = NAME;
RETURN ANNUAL_SALARY;
END;
END;
/
复制代码

    

3)、如何调用包的过程或是函数
当调用包的过程或是函数时,在过程和函数前需要带有包名,如果要访问其它方案的包,还需要在包名前加方案名。如:

--调用存储过程
SQL> exec sp_package.update_sal('SCOTT', 8888);
--调用函数
var income NUMBER;
CALL sp_package.ANNUAL_INCOME('SCOTT') INTO:income;
print income;

参见:http://www.cnblogs.com/linjiqin/archive/2012/02/24/2367167.html

转载于:https://www.cnblogs.com/GtShare/p/7520685.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454658.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

背单词软件 单词风暴 分享id_周一考研高效背单词系列(一):利用单词软件如何背好单词...

高效背单词考研单词作为考研路上的第一大难关,相信很多小伙伴都在这上面吃过不少苦,有同学更是看到密密麻麻的大纲词汇就头疼,但只要是学习就是有方法的,今天,我们开始推出高效背单词系列——墨墨背单词。另&#xff1…

linux c++ 编译 库,LINUX C/C++ 编译库关系

在LINUX 下安装个啥,都要涉及到编译,尤其是开源软件. 那么编译就涉及到C/C 和对应的库. 我们理一理之间的关系有助于MYSQL8源码编译libc glibc libc libstdc eglibc GCC G CMakeGDB从libc说起。libc是Linux下原来的标准C库,也就是当初写hello world时包含的头文件#…

Linux_学习_Day3_bash

Shell bash是外部程序:type/whichis bash。 shell, 子shell。可以利用bash打开另一个bash。即打开一个子shell。并且每个进程是独立存在的。对于子shell而言,bash并不认知其他bash的存在。 执行了多次bash,要退出只需exit。用pst…

mysql 之 优化 (收集于网络)

(以下内容均来自于网络,如果有版权限制,请联系我0.0) Mysql存储千亿级的数据,是一项非常大的挑战。Mysql单表可以存储10亿级的数据,只是这个时候性能非常差,项目中大量的实验证明,M…

easyui 收费_收费班长喻玉华三尺岗亭献青春

- 2020 第四期 人物访谈报道 -拼搏人生最美励志先锋人物专访2013年,22岁的她来到巴南高速这个大家庭中,成为恩阳收费站一名普通的收费员。怀着对事业的执着追求与热爱,经过两年不懈的努力,获得了领导和同事的认可和喜爱。2015年5月…

编程技术面试的五大要点

(写在前面的话:本文最初发表于《程序员》杂志2011年10月刊,并收录到《剑指Offer——名企面试官精讲典型编程题》一书中。) 近年来找工作一直是一个很热门的话题。我们要想找到心仪的工作,难免需要经过很多轮面试。编程…

山西台达plc可编程控制器_可编程控制器2(PLC)控制原理

采用继电器控制采用PC控制PC的控制原理(继电器PC控制)a)当SB1按下,输入继电器00000的线圈通电,00000的常开触点闭合,使得输出继电器01000的线圈得电,01000对应的硬输出触电闭合,KM1得电M1开始运转,同时0100…

一篇读懂 可转债

可转债兴起的原因 可转债是1992年底开始进入中国证券市场的,到现在已经27个年头了。可以说,以前可转债在中国证券市场一直不是市场的焦点和幸运儿,始终没能成为一个上规模的可配置的投资品种——其原因很简单,因为相对而言企业发…

bodhi linux 安装 ubuntu软件,Bodhi Linux 5.1.0 发布,基于Ubuntu的轻量级发行版

Bodhi Linux是基于Ubuntu的轻量级发行版,具有Moksha桌面环境。现在有很多Linux发行版。有些是独特的,但很多是重复的,可能没有存在的必要。由于使用了Moksha桌面环境,一个基于Linux的操作系统Bodhi脱颖而出。如果你不熟悉Bodhi&am…

idc机房运维巡检_智和信通赋能国产信创 建设IT智能监控运维体系 - 蔚颖willing...

作为信创领域深耕多年的企业,北京智和信通技术有限公司始终坚持研发自主知识产权的IT智能运维监控大数据分析系统——智和网管平台SugarNMS,积极探索AIOps智能运维,通过“国产安全监控分析安管日志运维开发”七合一模式,赋能IDC数…

用Python的Tultle模块创建一个五角星

方案所需准备Python官方手册。 这里是我找到的中文版。一个可执行Python的解释器Ttultle简介来源乌龟图形是一个不错的方式来为孩子们介绍编程。它是Wally Feurzig和Seymour Papert在1966年开发的原始Logo编程语言的一部分。想象一只在x-y平面上,从(0,0&…

Python 之 Python2 和 Python3 的区别

1、默认编码方式 # Python2 默认编码方式是 ascll码 # Python3 默认编码方式是 utf-8 # Python2 输出中文要加 # -*- encoding:utf-8 -*- # Python3 不需要 2、print # Python2 可以使用 print,也可以使用 print() 例: print(lili) 或 print lili # Py…

【C/C++开发】C++11 并发指南二(std::thread 详解)

上一篇博客《C11 并发指南一(C11 多线程初探)》中只是提到了 std::thread 的基本用法&#xff0c;并给出了一个最简单的例子&#xff0c;本文将稍微详细地介绍 std::thread 的用法。 std::thread 在 <thread> 头文件中声明&#xff0c;因此使用 std::thread 时需要包含 &…

触摸屏Sensor叠构实例学习记录(一)

现在从事TP这个行业&#xff0c;看再多的资料和介绍&#xff0c;不如直接拿个实例的工程图来看&#xff0c;分析每一部分具体是什么东西&#xff0c;比看再多的资料更容易入门。 以下图纸和图片都是我从网上随便下的&#xff0c;仅次于学习记录使用&#xff0c;不做另外的商业用…

linux查找influx的安装位置,InfluxDB学习之InfluxDB的安装和简介 | Linux大学

最近用到了 InfluxDB&#xff0c;在此记录下学习过程&#xff0c;同时也希望能够帮助到其他学习的同学。本文主要介绍InfluxDB的功能特点以及influxDB的安装过程。更多InfluxDB详细教程请看&#xff1a;InfluxDB系列学习教程目录一、InfluxDB 简介InfluxDB 是用Go语言编写的一个…

爬虫数据executemany插入_金融数据的获取——一个爬虫的简单例子

对量化投资策略进行研究&#xff0c;第一步就是获取我们需要的数据。使用历史数据能够对策略进行回测&#xff0c;以验证策略的有效性和可信性。另一方面&#xff0c;量化投资本身也是一种对数据的研究&#xff0c;因此它也必须遵循数据分析的相关步骤。作为一个业余的量化投资…

linux检查swap配置,Linux环境下swap配置方法

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;前言安装Linux系统之后&#xff0c;默认是没有swap分区&#xff0c;那么我们怎样增加和删除swap分区。配置swap步骤1) 内存占用情况1free -hSwap: 0B 0B 0B2) 通过…

react学习系列1 修改create-react-app配置支持stylus

注&#xff1a;由于前端更新非常快&#xff0c;写这篇文章时 create-react-app 使用的版本是1.4.1 最新的使用流程请参照官方文档。create-react-app 是facebook推出的快速创建react项目的命令行工具。 他和 vue-cli 类似。开箱即用&#xff0c;不用改一行配置就可以开发出针对…

[c/c++] programming之路(25)、字符串(六)——memset,Unicode及宽字符,strset

一、memset #include<stdio.h> #include<stdlib.h> #include<memory.h>void *mymemset(void *p, int num, int len) {char *px (char *)p;if (p NULL)return NULL;while (len>0){*px (char)num;px;len--;}return p;//因为上述代码是对px进行操作&#…

使用Cross-Page Postback(跨页面提交)在页面间传递数据

页面间传递数据的几种方法 在页面间传递数据时&#xff0c;我们有以下几种选择&#xff1a; 1、Query String 一个很常见的方法&#xff0c;Query String是URL中问号之后的那一部分。其优点在于它是轻量级的&#xff0c;不会给服务器带来任何负担。而它也有几个缺点&#xff1a…