存储过程和函数是一种PL/SQL块,是存入数据库的PL/SQL块。咱们一般将PL/SQL程序块称为无名块,而存储过程和函数是以命名的方式存储在数据库中。它有以下优势:数据库
1>存储过程的代码不是保存在本地,而是在数据库中,所以,用户能够在任何客户机上登陆到数据库,调用或者修改代码。编辑器
2>存储过程和函数的信息是写入字典的,因此存储过程能够看作是一个公用模块,用户编写的PL/SQL程序或者其余存储过程均可以调用它(可是存储过程和函数不能调用PL/SQL程序)。一般,一个重复使用的功能,能够设计成一个存储过程。函数
3>存储过程和函数都须要进行编译,以排除语法错误,只有编译过了才能调用。url
建立和删除存储过程
spa
create or replace procedure 存储过程名[(参数1,参数2,……)]设计
{as|is}get
begin
io
执行部分编译
[exception登录
错误处理部分]
end[过程名];
参数类型有三种:IN、OUT和IN、OUT。
关键字AS也能够写成IS,后面能够定义该存储过程的局部变量。
编写存储过程能够使用任何文本编辑器或直接在SQL *Plus环境下进行,编写完后须要编译成功,编译成功后的存储过程就能够在Oracle环境下调用了。
若是一个存储过程不须要在使用了,能够使用以下语句删除它:
drop procedure 存储过程名;
执行或者调用存储过程的方法以下:
1>方法1
exceute 模式名.存储过程名[参数];
2>方法2
begin
模式名.存储过程名[参数];
end;
若是是调用本帐号下的存储过程,则模式名能够省略,要调用其余帐号编写的存储过程,则须要模式名。
打印信息
dbms_output.put_line(变量名);