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://myzitong.com/article/dsehhpe.html