racle触发器插入A表一条数据并把这条数据插入到B表中
作者&投稿:向脉 (若有异议请与网页底部的电邮联系)
交给我吧,这是个最基础的触发器,假设A表的2个字段为ID,name,B表与A表字段相同
create or replace trigger AB_DML_TGR
after insert
on A
for each row
begin
if inserting then
insert into B
values
(:new.ID,
:new.name);
DBMS_OUTPUT.PUT_LINE('新数据已保存到B中');
end if;
end;
问题:
当a表status=1
b表没有数据怎么处理
b表有数据status=0怎么处理
b表有数据status=1怎么处理
当a表status=0
b表没有数据怎么处理
b表有数据status=0怎么处理
b表有数据status=1怎么处理
脂歪复方: CREATE TRIGGER TR_表A_Insert ON dbo.表A FOR INSERT AS declare @FIELD1 varchar(30), @FIELD2 INT select@FIELD1=FIELD1, @FIELD2=FIELD2 from inserted INSERT INTO 表B SELECT FIELDB1=@FIELD1,FIELDB2=@FIELD2,FIELDB3='',FIELDB4=0 GO
青白江区19280131288: Oracle中触发器能否在表中添加一条记录同时对某个字段进行修改 - ?
脂歪复方: 应该是可以的,使用before触发器.可以在触发器中直接指定:if xxx then:new.b = select b.d from b where ... ; end if
青白江区19280131288: oracle触发器insert时触发数据插入另一个表中 - ?
脂歪复方: create trigger tri after insert on afor statementbegininsert into b select * from a;end;这个前提是a表与b表的结构一致
青白江区19280131288: oracle 如何用触发器实现更新刚插入的数据 - ?
脂歪复方: 新建一个after insert 触发器 然后在触发器里写 update 表名 set :new.列表=?;
青白江区19280131288: oracle中,利用触发器实现在一个表中插入数据时就把这个表中的一列值赋予另一为空的列. - ?
脂歪复方: ===============================================create or replace trigger abcafter insert on studentfor each rowbeginupdate student set number=:new.id where id=:new.id;end abc;=============================================== 大概这样 你调试一下看看
青白江区19280131288: oracle 触发器 插入表A中一条数据 然后在表B中删除这条数据的相关内容 应该怎么写 - ?
脂歪复方: 假设你的资产表与资产报废表通过主外键联系 CREATE OR REPLACE TRIGGER tr_del after insert--因为这里是添加后再删除所以是after insert ON 资产报废表FOR EACH ROW --行级触发 begin delete from 资产表 where 资产表主键=:new.资产报废表外键 end;
青白江区19280131288: 写一个oracle触发器,要求监控别的表插入数据 - ?
脂歪复方: CREATE OR REPLACE TRIGGER TRG_aI AFTER INSERT ON AFOR EACH ROW BEGININSERT INTO B(b1,a1,a2)VALUES(x,:NEW.a1,:NEW.A2) end;这个前提要表a和表b的数据结构一样哦
青白江区19280131288: Oracle数据库中如何在往一张表中插入数据的同时,将他自动生成的一个字段更新到另一个表中? - ?
脂歪复方: 在a表上建触发器CREATE OR REPLACE TRIGGER TRG_a before insert on afor each row declarebegininsert into b(idb, ida)values(null, :new.ida); end; /其中b.idb应该是可以为空的
青白江区19280131288: 如何写一个ORACLE触发器出发插入数据? - ?
脂歪复方: A3表,字段t1,t2,t3 A4表,字段t1,t2,t3 以下触发器,功能是:在往A3表插入数据后触发,将刚刚插入的一行的数据插入表A4.create or replace trigger t1 after insert on a3 for each row begin--将刚插入行的字段t1,t2,t3插入表A4中 insert into a4 values(:new.t1,:new.t2,:new.t3); end;
青白江区19280131288: 在sql中建立一个触发器 使我在生成一条数据例如 在table:a (id,code,name) 中,插入一条数据 - ?
脂歪复方: 你这是内存表,当然啥都见不到.1、把@t改为永久表SerialNo,开发一个过程:sp_Serial_Get()2、触发器中调用这个过程.--不过,你这情况一般不需要触发器,而是INSERT语句前调用那个过程