存储过程和触发器
存储过程:
是一组提前编写好的代码,用户可以直接调用。
创建存储过程:
create or replace procedure 表名(
对象名 in/out 属性
tableName in varchar2,
pageCount out number
)is
sql语句中对数据的操作;
在java中调用,必须创建CallableStatement对象,通过prepareCall方法调用。
触发器:
触发器是数据库中都有的一项技术,主要作用是对系统操作的维护。
触发器是一个与数据库事件联系在一起,通常是对数据的增删改查!当事件发生时,触发器会自动的被调用。过程是用户显示的调用,触发器不能被直接调用,当发生指定事件时自动调用。
案例:
第一步:首先确定对那个表进行操作 ,例如我选择复制Emp数据创建Emp1表
create table emp1 as select * from emp;
第二步:创建触发器
create or replace trigger trig_2 before insert or update or delete on emp1;
第三步:触发事件
insert into emp1 values("xiaoming","19");
重要词汇解释:
replace查找并替换
trigger规定被选中元素要触发的事件
before优先,在..前面
Callable动态链接库,能被外部程序调用。
Statement执行数据库操作,向数据库发送要执行的sql语句(不带参数)
procedure程序,后跟存储过程名称,对数据库唯一,用来保存可以接受和返回用户提供的参数的 SQL 语句的集合
(创建一个存储过程,可以长期调用,也可以放在会话中使用)