比如我有一张表a ,我想建两张同样结构的表b,c,其中insert如a的时候插入b ,delete a时,插入c,怎么写啊?谢谢了
解决方案 »
- powerbuilder 11.5 连接 ORACLE 10g的问题
- oracle图形安装next按钮不显示
- Oracle在使用sys/change_on_install登录到sqlplus,浏览器em中登录不进去()
- 把小数变为百分数
- 正打算学习oracle请问哪一个版本适合
- oracle 10g decode函数
- 配置linux 的oracle data guard 的问题
- 能打开enterprise manager console的用户不能打开sqlplus?
- cursors游标没释放正常吗?
- 如何编写一个汇总服务,从一个表中取想要的字段oracle数据库
- USER_IND_COLUMNS 这个表有什么作用?
- 提示错误ORA00905:select * into A from B,缺少关键字
before insert on 表名字
for each row
declare
-- local variables here
begin
select 序列名字.nextval into :new.contactid from dual;//触发后要处理的语句
end 触发器名字;
before insert or delete on A
for each row
begin
if inserting then
insert into B select * from A where id = :new.id;
end if;
if deleting then
insert into C select * from A where id = :old.id;
end if;
end triggername;
另外 id = :old.id;这个语句
如果我A中的主键是mail_id的话
那是不是改成Mail_id=:old.Mail_id啊?
create or replace trigger tri_mail_send
after insert or delete on mail_send
for each row
begin
if inserting then
insert into mail_send_add (mail_id,mail_from_id,mail_to_id,mail_content,mail_send_time,read_flag,garbage_flag,download_url,mail_title,file_name,need_response)
values(:new.mail_id,:new.mail_from_id,:new.mail_to_id,:new.mail_content,:new.mail_send_time,:new.read_flag,:new.garbage_flag,:new.download_url,:new.mail_title,:new.file_name,:new.need_response);
end if;
if deleting then
insert into mail_send_delete(mail_id,mail_from_id,mail_to_id,mail_content,mail_send_time,read_flag,garbage_flag,download_url,mail_title,file_name,need_response)
values(:old.mail_id,:old.mail_from_id,:old.mail_to_id,:old.mail_content,:old.mail_send_time,:old.read_flag,:old.garbage_flag,:old.download_url,:old.mail_title,:old.file_name,:old.need_response);
end if;
end tri_mail_send;