A.ID是自增ID, 往A表中插入一条数据会触发另一个表触发2,往B表添加条数据.请问怎么样在表触发2中修改新增记录的一个字段的值.因为ORACLE提示,无法获取A.ID的值. A.ID的自增触发在表触发2后?
解决方案 »
- oracle10g,如何给已经存在的表空间新增一个数据文件?
- 讨论讨论---ORACLE为什么不让存储过程直接返回结果集,却要返回游标的方式呢?
- 一个pl/sql问题 关于异常处理
- between函数可以用于字符串的比较吗?
- 分批插入 该怎么写??
- java.sql.SQLException: ORA-00933: SQL command not properly ended
- 数据库select并发的问题,请各位帮忙
- 看来看去也不知道错哪里啊!!!
- 要用oracle生成报表,需要另装什么呢?
- 监测表记录字段变化情况
- 大家帮我看看这个sql语句哪有错误啊,怎么老是报错呢,无法插入
- VB.net连接oracle,要求不用客户端不写注册表怎么做
after insert
on T_PLANS
referencing old as So
new as Sn
for each row
declare Mb varchar(100);
ic number;
begin
if inserting then
if :Sn.P_READ = 0 then
INSERT INTO B (ID,TEXT) VALUES ( :Sn.ID, :Sn.TEXTID);
select SEQ_PLANS.nextval into ic from dual;
UPDATE A SET P_READ = 1 WHERE ID= :SN.ID; //:SN.ID 为A表中的自增ID
end if;
end if;
end;
after insert
on T_A
referencing old as So
new as Sn
for each row
begin
if inserting then
if :Sn.P_READ = 0 then
INSERT INTO B (ID,TEXT) VALUES ( :Sn.ID, :Sn.TEXTID);
UPDATE A SET P_READ = 1 WHERE ID= :SN.ID; //:SN.ID 为A表中的自增ID
end if;
end if;
end; 不好意思,上面那个有错误!
after insert
on T_PLANS
referencing old as So
new as Sn
for each row
declare Mb varchar(100);
ic number;
begin
if inserting then
if :Sn.P_READ = 0 then
INSERT INTO B (ID,TEXT) VALUES ( :Sn.ID, :Sn.TEXTID);
select SEQ_PLANS.nextval into ic from dual;
UPDATE A SET P_READ = 1 WHERE ID= :SN.ID; //:SN.ID 为A表中的自增ID
end if;
end if;
end;