oracle触发器怎么插入,oracle 触发器 高级用法

如何写一个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;

oracle触发器,往表1(a,b,c)中插入一条数据,若已存在则更新,否则则直接插入

可以使用insert触发器

create trigger tgr_tablename_insert

on tablename

for insert --插入触发

as

declare @num int

select @num = count(1) from tablename tb where tb.a = inserted.a and tb.b = inserted.b and tb.c = inserted.c

if @num 0

begin

insert.......

end

else

begin

update....

end

go

没有测试下,不知道对不对,你可以看着修改下,用的是sqlserver的语法

oracle触发器将数据插入到另一个服务器的oracle数据库中?

oracle触发器将数据插入到另一个服务器的oracle数据库中要用dblink实现两台服务器的数据共享。

oracle db_link 和触发器实现不同数据库表的同步

---创建dblink,dblink_test名称,(被同步数据库的a_test)ST10766用户名,ep密码,ass100连接字符串

create public database link dblink_test

connect to ST10766 identified by ep

using 'ass100';

---删除dblink

----drop public database link dblink_test;

----建立表

create table a_test (id int,name varchar(20),pass varchar(20))

select * from a_test;

insert into a_test (id,name,pass) values (1,'zzn','shanshan')

insert into b_test (id,username,password) values('1','zxl','xiaolan')

----在目的数据库上,测试dblink,查询的是源数据库的表

select * from a_test@dblink_orc10;

select * from a_test;

----创建触发器

create or replace trigger a_b_test

after insert or update or delete

on a_test

for each row

begin

if deleting then

delete from b_test where id=:old.id;

end if;

if inserting then

insert into b_test(id,username,password) //b_test表的字段

values(:new.id,:new.name,:new.pass); //a_test表的字段

end if;

if updating then

update b_test set username=:new.name,password=:new.pass where id=:old.id;

end if;

end a_b_test;


网站标题:oracle触发器怎么插入,oracle 触发器 高级用法
本文来源:http://ybzwz.com/article/dsehhpe.html