存储过程
概念
存储过程就是一组用来实现一个任务的sql语句集。保存在数据库中。
存储过程只要编译一次,第一次编译之后可以直接调用,用户给出
传入参数执行他,存储过程可以返回一个或者多个结果集。
基本创建方式
create or replace procedure name_procedure
(
input_name in type,--传入值
output_name out type --传出值
)
as
local_variable_name1 type,--局部变量
local_variable_name2 input_name&type, --类型与此变量一样
begin
--语句
end
调用
在没有传出参的情况下
call name_procedure(input_name);
或
execute name_procedure(input_name);
在有传出参的情况下用这个
declare --要先定义传出变量
output_name type;
begin
name_procedure(input_name,output_name);
end
自定义函数
自定义函数是一种特殊的存储过程
只有一个返回值
返回值类型要定义
自定义函数的创建
create or replace function fun_name
(
input_name in type
)
return type --返回值类型
as
v_name type --局部变量
begin
语句
end;
触发器
概念
触发器(TRIGGER)是由事件来触发某个操作
创建
create trigger tr_name
before/after DML
on table_name
for each row
begin
动作
end
游标
用逐行的方式完成数据操作。