SQL随记(三)
1.关于package:
包的作用:可以将任何出现在块声明的语句(过程,函数,游标,游标,类型,变量)放入包中,相当于一个容器。
包的好处:在包中的(过程,函数,游标,游标,类型,变量)相当于sql/plus的全局变量。总的来说包就相当于java中的类,而在里面定义的就是接口
包头的定义:create or replace package package_name
is|as
包体的定义:create or replace package body package_name
is|as
包头就是定义一些接口,包体就是这些接口的具体实现。
create or replace package w_ping --包头
as
function numAdd(num1 number,num2 number) return number;
procedure getUser(uid in varchar2);
end;
create or replace package body w_ping -- 包体
as
--实现函数
function run(num1 number,num2 number) return number
as
num number;
begin
num:=num1-num2;
return num;
end;
--实现过程
procedure getUser (uid in varchar2 )
as
uid :=&uid
begin
select * from user u where u.id = uid;
end;
-----包的调用
declare
num number;
uid varchar2;
begin
--调用包中的函数
select w_ping .numAdd(5,6) into num from dual;
end;
2.关于is和as的区别:在存储过程和函数中is和as没什么区别,在view中只能用as不能用is,在游标中只能用is不能用as。
3.存储过程和函数链接:http://czmmiao.iteye.com/blog/1815000

浙公网安备 33010602011771号