oracle学习总结-----package
2017-01-18 20:55
351 查看
---package(包),相当于java中的类
--包规范(包头)和包主体
--包头
--create or replace package 包名
--is|as
--可以声明变量,常量,游标,函数,存储过程
--end;
--包主体
--create or replace package body 包名
--is|as
--变量,常量,游标,函数,存储过程的定义
--begin
--包主体内部执行部分
--end;
--注意事项:
--1、包头和包主体必须一致,包内的对象名字必须保持一致,
--2、在包头内声明的对象,必须在包主体内定义
--3、包主体的执行部分在当前会话只执行一次
------------------------------------------------
--先创建包头,然后创建包主体
create or replace package apk
is
--声明一个存储过程,输出helloworld
procedure pro_print;
--声明一个函数,求出两个数的h和与差
--function fun_airith(num1 in out number,num2 in out number) return number;
end;
create or replace package body apk
is
--定义一个存储过程,输出helloworld
procedure pro_print
is
begin
dbms_output.put_line('Hello world');
end;
--begin--如果没有执行部分,可以没有begin
end;
declare
begin
apk.pro_print;
end;
drop package apk;
drop package body apk;
------------------------------------------------------------
--实例:创建一个包,定义一个游标,实现游标遍历
create or replace package apk_cursor
is
cursor cur return emp%rowtype;--声明游标
end;
create or replace package body apk_cursor
is
cursor cur return emp%rowtype is select * from emp;--定义游标
begin
for temp in cur loop
dbms_output.put_line('ename=' || temp.ename);
end loop;
end;
declare
begin
for temp in apk_cursor.cur loop
dbms_output.put_line('ename=' || temp.ename);
end loop;
end;
--封装一个包,用游标查询20号部门的员工,薪资,
--用存储过程salesame加薪,每个员工加500,用函数删除mgt为空的员工
--包规范(包头)和包主体
--包头
--create or replace package 包名
--is|as
--可以声明变量,常量,游标,函数,存储过程
--end;
--包主体
--create or replace package body 包名
--is|as
--变量,常量,游标,函数,存储过程的定义
--begin
--包主体内部执行部分
--end;
--注意事项:
--1、包头和包主体必须一致,包内的对象名字必须保持一致,
--2、在包头内声明的对象,必须在包主体内定义
--3、包主体的执行部分在当前会话只执行一次
------------------------------------------------
--先创建包头,然后创建包主体
create or replace package apk
is
--声明一个存储过程,输出helloworld
procedure pro_print;
--声明一个函数,求出两个数的h和与差
--function fun_airith(num1 in out number,num2 in out number) return number;
end;
create or replace package body apk
is
--定义一个存储过程,输出helloworld
procedure pro_print
is
begin
dbms_output.put_line('Hello world');
end;
--begin--如果没有执行部分,可以没有begin
end;
declare
begin
apk.pro_print;
end;
drop package apk;
drop package body apk;
------------------------------------------------------------
--实例:创建一个包,定义一个游标,实现游标遍历
create or replace package apk_cursor
is
cursor cur return emp%rowtype;--声明游标
end;
create or replace package body apk_cursor
is
cursor cur return emp%rowtype is select * from emp;--定义游标
begin
for temp in cur loop
dbms_output.put_line('ename=' || temp.ename);
end loop;
end;
declare
begin
for temp in apk_cursor.cur loop
dbms_output.put_line('ename=' || temp.ename);
end loop;
end;
--封装一个包,用游标查询20号部门的员工,薪资,
--用存储过程salesame加薪,每个员工加500,用函数删除mgt为空的员工
相关文章推荐
- JVM虚拟机内存及垃圾收集
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- 关于C#中排序函数的总结
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法