pl/sql基础知识—包
n 包
包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。
为什么需要包:使用包可以更好的管理自己写的函数、过程
①我们可以使用create package命令来创建包:
|
包的规范只包含了过程和函数的说明,但是没有过程和函数的实现代码。包体用于实现包规范中的过程和函数。
请编写一个包,该包有一个过程,该过程可以接收用户名和新的薪水,将来用于通过用户名去更新薪水;还有一个函数,该函数可以接收一个用户名,将来要实现得到用户的年薪是多少
create
or
replace
package
mypackage1 is
procedure
pro1(v_in_ename
varchar2,v_in_newsal
number);
function
fun1(v_in_ename
varchar2)
return
number;
end;
②建立包体可以使用create
package body命令
|
SQL>
create or replace package body mypackage1 is
2
procedure pro1(v_in_ename varchar2,v_in_newsal number) is
3
begin
4
update emp set sal=v_in_newsal where ename=v_in_ename;
5
end;
6
function fun1(v_in_ename varchar2) return number is
7
v_annual_sal number;
8
begin
9
select (sal+nvl(comm,0))*13 into v_annual_sal from emp where
ename=v_in_ename;
10
return v_annual_sal;
11
end;
12 end;
13 /
Package
body created
③如何调用包的过程或是函数
当调用包的过程或是函数时,在过程和函数前需要带有包名,如果要访问其他方案的,还需要在包名前加方案名。
(1)控制台
|
(2)在java中取调用包下的函数或是过程应当:
String sql="{call
scott.mypackage1.pro1(?,?)}";
String sql="select
scott.mypackage1.fun1('KING') from dual";
细节:
①包体中药实现的方法或者是过程,应先在包中声明。
pl/sql基础知识—包的更多相关文章
- PL/SQL基础知识
Oracle之PL/SQL学习笔记 自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了 ...
- pl/sql基础知识—定义并使用变量
n 介绍 在编写pl/sql程序是,可以定义变量和常量:在pl/sql程序中包括有: ①标量类型(scalar) ②复合类型(composite) ③参照类型(reference) ④lob(lar ...
- pl/sql基础知识—pl/sql块介绍
n 介绍 块(block)是pl/sql的基本成型单元,编写pl/sql程序实际上就是编写pl/sql块.要完成相对简单的应用功能,可能只需要编写一个pl/sql块:但是如果要想实现复杂的功能,可能 ...
- PL/SQL 基础知识简介
1.PL/SQL代码块 PL/SQL 代码块是指令的集合,支持所有的DML,NDS,DBMS_SQL,DDL. :DML 是数据操纵语言(Data Manipulation Language)包括,I ...
- 【PL/SQL基础知识】结构
1.pl/sql块的结构 declare --声明的变量.类型.游标 begin --程序的执行部分(类似于java的main()方法) exception --针对begin块中出现的异常 ---w ...
- pl/sql基础知识—触发器
n 触发器简单介绍 触发器是指隐含执行的存储过程,它不是由程序员或者是DBA来显式调用,而是因为某个操作引发执行的.当定义触发器时,必须要指定触法的事件和触发的操作,常用的触发事件包括insert, ...
- pl/sql基础知识—过程快速入门
n 过程 过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分:通过使用输出参数可以将执行部分的数据传递 ...
- pl/sql基础知识—函数快速入门
n 函数 函数用于返回特定的数据,当建立函数式,在函数头部必须包含return子句,而在函数体内必须包含return语句返回的数据,我们可以使用create function来建立函数,实际案例: ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
随机推荐
- 深入浅出 Java Concurrency (8): 锁机制 part 3[转]
接上篇,这篇从Lock.lock/unlock开始.特别说明在没有特殊情况下所有程序.API.文档都是基于JDK 6.0的. public void java.util.concurrent.lock ...
- Django项目:CRM(客户关系管理系统)--35--27PerfectCRM实现King_admin编辑复选框
#admin.py # ————————01PerfectCRM基本配置ADMIN———————— from django.contrib import admin # Register your m ...
- Django项目:CRM(客户关系管理系统)--30--22PerfectCRM实现King_admin数据添加
登陆密码设置参考 http://www.cnblogs.com/ujq3/p/8553784.html # king_urls.py # ————————02PerfectCRM创建ADMIN页面—— ...
- JS 重载页面,本地刷新,返回上一页
JS 重载页面,本地刷新,返回上一页 : <a href="javascript:history.go(-1)">返回上一页</a> <a href= ...
- Iterm2 快捷键介绍
Mac 原来自带的终端工具 Terminal 不好用是出了名的,虽然最近几个版本苹果稍微做了些优化,功能上,可用性方面增强不少,无奈有个更好用的 Iterm2 摆在那,基本上也就没有多少出场机会了 I ...
- linux学习 网络系统&文件查找
被用来配置和操作网络系统的命令数目非常巨大,这里仅仅介绍一些经常会使用的 这一章会介绍ssh远程登录程序哦 ping 命令(掠过) traceroute 会显示主机到指定的主机要经过的跳数的网络流量列 ...
- GYM 101350 F. Monkeying Around
F. Monkeying Around time limit per test 2.0 s memory limit per test 256 MB input standard input outp ...
- Leetcode49. Group Anagrams字母异位词分组
给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", "tan&quo ...
- HDU - 1724 Ellipse 自适应辛普森模板
OJ 题解传送门 //Achen #include<algorithm> #include<iostream> #include<cstring> #include ...
- cf round480D Perfect Groups
题意:给一个序列,对于每一个连续的区间,区间内的数至少分成几个组,使得每个组内的数任意2个相乘是一个完全平方数(包括0). 输出每个组数的个数. $n \leq 5000 , |a_i| \leq 1 ...