如何使用触发器填充表格

时间:2018-11-16 09:52:54

标签: sql oracle triggers

Image of the tables

你好

我真的是sql的新手,我只知道它的基础知识,所以我有些麻烦。

如何使用触发器填充表?更具体地说,我想将主键传递给另一个表,例如,我要将id_Academista(PK)从Table Academista传递给表Habilitacoes上的id_Academista(FK)。

在这一点上,我有这样的东西:

CREATE OR REPLACE TRIGGER ADDCOMP AFTER INSERT ON ACADEMISTA FOR EACH ROW BEGIN INSERT INTO Habilitacoes(id_academista) VALUES((SELECT ID_ACADEMISTA FROM academista)); END;

我在Oracle上测试了代码,但是我认为这没有任何意义。

1 个答案:

答案 0 :(得分:2)

您应该使用tt <- "subject group age trial cond acc rt S1 2 1 1 1 1 5045 S1 2 1 2 2 1 8034 S1 2 1 3 1 1 6236 S1 2 1 4 2 1 8087 S1 2 1 5 3 0 8756 S1 2 1 6 1 1 6619" d <- read.table(text=tt, header=T) 来将值插入其他表中。尝试以下代码:

:new.id_Academista

这里的参数CREATE OR REPLACE TRIGGER ADDCOMP AFTER INSERT ON ACADEMISTA FOR EACH ROW BEGIN INSERT INTO Habilitacoes(id_academista) VALUES((:new.id_Academista)); END; 代表您在表:new中插入的最新行。