+ -
当前位置:首页 → 问答吧 → 数据库中两张表如何建立触发器,使其中一张表某个字段更新时,另一个表的某个字段发生相应的变化?详细如下:

数据库中两张表如何建立触发器,使其中一张表某个字段更新时,另一个表的某个字段发生相应的变化?详细如下:

时间:2011-09-05

来源:互联网

现有两张表,table1和table2:如下:
create table table1
字段1 VARCHAR2(255),
字段2 VARCHAR2(255),
字段3 VARCHAR2(255),
字段4 VARCHAR2(255),
字段5 VARCHAR2(255)
)

create table table2
字段6 VARCHAR2(255),
字段7 VARCHAR2(255),
字段8 VARCHAR2(255),
字段9 VARCHAR2(255),
字段10 VARCHAR2(255)
)
现在我想创建一个触发器:当table1中的某些字段,如字段1,或字段2..发生改变,则触发table2中的字段也发生相应的变化,如table2中字段6的值变成1,table2中字段7变成2,等,这种触发器改如何编写,说明下,是Oracle数据库,小弟新手,,请高手指点,谢谢!

作者: zxffling   发布时间: 2011-09-05

SQL code

--触发器简单,但是根据你的描述 你的 table1 和 table2 需要一个关联条件,假设关联条件为 字段5=字段10
create or replace trigger table1_trigger
after update on table1
for each row
begin
  update table2
     set 字段6=1,
         字段7=2
   where 字段10 := old.字段5; --这里的条件是假设的,你根据你自己的实际情况处理。
end;

作者: BenChiM888   发布时间: 2011-09-05

--建议你直接读下触发器的创建过程,就会了。
例子:
CREATE OR REPLACE TRIGGER `<databaseName>`.`<triggerName>`
  < [ BEFORE | AFTER ] > < [ INSERT | UPDATE | DELETE ] >
  ON <tableName>
  FOR EACH ROW
  BEGIN
  --do something
  END

作者: z2563256   发布时间: 2011-09-05

你好,如果我只是当table1中的某一个字段,而非任意字段,如字段3发生改变时才引发触发器,改如何修改,谢谢
引用 1 楼 benchim888 的回复:

SQL code

--触发器简单,但是根据你的描述 你的 table1 和 table2 需要一个关联条件,假设关联条件为 字段5=字段10
create or replace trigger table1_trigger
after update on table1
for each row
begin
update table2
set 字段6=1,
字段……

作者: zxffling   发布时间: 2011-09-05

CREATE OR REPLACE TRIGGER TG_SALARYMONTHINFO
  AFTER UPDATE ON T_SALARYAGENCYMONTHSALINFO
  FOR EACH ROW
BEGIN
  UPDATE T_SALARY_SALARIESDATA SET T_SALARY_SALARIESDATA.text1 =1 WHERE Bdgagency:= OLD.Bdgagency;
END;



如此代码编译时提示有编译错误,请问各位错误再哪?

作者: zxffling   发布时间: 2011-09-05

引用 1 楼 benchim888 的回复:
SQL code

--触发器简单,但是根据你的描述 你的 table1 和 table2 需要一个关联条件,假设关联条件为 字段5=字段10
create or replace trigger table1_trigger
after update on table1
for each row
begin
update table2
set 字段6=1,
……

+1

作者: njlywy   发布时间: 2011-09-05

+1 ?什么意思?
引用 5 楼 njlywy 的回复:

引用 1 楼 benchim888 的回复:
SQL code

--触发器简单,但是根据你的描述 你的 table1 和 table2 需要一个关联条件,假设关联条件为 字段5=字段10
create or replace trigger table1_trigger
after update on table1
for each row
begin
update table2……

作者: zxffling   发布时间: 2011-09-05

热门下载

更多