触发器:
没参数
事务:原子性———不可分割的
一致性———操作两个表时,若只有一个表成功,那就产生不一致性
隔离性———与并发性是一对,只能读提交的数据
永久性———回滚,就不能提交
如:select * from books for update
update books set
commit
只有提交后,另一用户才能更新,实际上利用加锁特性
建:1 create or replace trigger deltr
after delete on dept
for each row
begin
delete from emp where id=old.id
end;
2 create or replace trigger instr
after insert on dept
for each row
begin
insert into emp values(1,new.id);
end;
3原理 (行级)
old new
insert - +
delete + -
update + +
4 里面不能写rollback commit 可以这样写
begin
if old.books_id ='001' then
raise_application_error (-20000,'happen error');
end if;
end;
5 语名级
create or replace trigger dnl_a
after insert or delete or update
declare
.........
begin
if inserting then ...;
elseif deleting then ...;
else
...;
end if;
end;
tochar 格式化输出 select myseq.nextval into books.id from books
6替换触发器(只能建在视图上)
create or replace trigger tr_v_t
instead of insert on v_view
or each row
begin
insert into deptment values(new.id,new.name);
insert into emp values(new.id,new.name,new.sex);
end;