帮帮忙,写一下嘛,我刚开始学,还有A的ID1字段可能为空
解决方案 »
- 一个sql,WMSYS.WM_CONCAT函数会改变列转行的顺序
- ORACLE 百万行数据查询优化
- nls_date_format参数设置的问题
- exp整个数据库时出现4031错误,show parameter java_pool报同样错误!
- 页面如何显示java.sql.Date的时间?就是有时分秒。急!!!
- 请问oracle8i存储过程是否支持将一个数据集作为参数进行传递
- DataStage建server job报错
- 如果不安装oracle 客户端而让occi连接远程数据库?
- 给个Oracle 9i 的纯客户端下载地址
- 请教数据复制问题
- 有关oracle编程问题
- grant问题,请高手指教
应该是这种格式吧。
create or replace trigger t1
before insert on a
begin
if (:id==-1)
then insert into b values(:id,:id1,:title)
endif;
end t1;
create or replace trigger t2
after update on a
begin
update b set id1=:id1,....where id=:id;
end t2;create or replace trigger t3
after delete on a
begin
delete from b where id=:id;
end t2;
update b set id1=:id1,....where id=:id;
或
delete from b where id=:id;
时B中的ID可能不存在,要不要先判断一下?该怎么判断
"要求这样,当A插入时判断ID1是否为-1,如果是则将该行插入B"
不是已说了,无论触发器内怎样做,都不能阻止插入A记录
第二:
create trigger a_tri
before update or delete on a
for each row
begin
if updating then
update b set ... where id=:new.id;
else
delete from b where id=:old.id;
end if;
end;
/
declare n1 number;
SELECT COUNT(*) INTO n1 FROM B WHERE ID=:ID;
IF (n1>0) then update....
before insert,update,delte on a for each row
begin
if (inseted=true) then insert into b values(:id,:id1,:title)
endif;
end t1;
create or replace trigger t2
after update on a
begin
update b set id1=:id1,....where id=:id;
end t2;create or replace trigger t3
after delete on a
begin
delete from b where id=:id;
end t2;
create or replace trigger T1
before insert,update,dalete on a
begin
if inserted=true then
if:new=-1 then
insert into b values(:new.id,:new.id2m,:new.title)
end if
end if
if updateed=true then
update b set id=:new.id,id1=:new.id,title=:new.title where b.id=:old.id
end if
if deleted=true then
delete from b where id=:old.id
end if
end T1;