在oracle中插入表B后创建将新行添加到表A中的触发器时出错

阿里·努尔丁

在阅读问题之前,请检查此

在此处输入图片说明

我想创建一个触发器,该触发器将在表B中插入后在表A中插入新行。A上的属性z(FK)的值是表B上的z(PK)(因此我将new.z传递为A上z的值),对于A上的y,C上的值为y。因此,我认为触发器将如下所示:

CREATE TRIGGER add_to_A
AFTER INSERT on B
FOR EACH ROW BEGIN
    select *
        from new, B, C
        where new.z = B.z and B.t = C.t
    INSERT INTO A (x, y, z) VALUES ('1', C.y, B.z);
END

但是我发现这是对错。错误如下:

错误(1):PL / SQL:忽略了SQL语句

错误(4,6):PL / SQL:ORA-00933:SQL命令未正确结束

错误(5,3):PLS-00103:预期以下情况之一时遇到符号“文件结束”:符号“;” 被替换为“文件结束”以继续。

你怎么看?以及我该如何解决?

巴巴罗斯·奥赞

我认为您需要这样的INSERT声明以及SELECT触发器中的

CREATE OR REPLACE TRIGGER add_to_A
AFTER INSERT ON B
FOR EACH ROW 
BEGIN
    INSERT INTO A 
    SELECT myseq.nextval, y, :NEW.z 
      FROM C
     WHERE t = :NEW.t;
END;
/

哪里

  • tx假定是表的主键列CA分别
  • commit出于在表B中插入数据的应用程序的事务完整性的考虑,不会仅在DML语句之后添加

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL触发器在插入时将新记录添加到具有相同结构的表中

来自分类Dev

更新后将触发器添加到数据库中的所有表

来自分类Dev

Oracle触发器是否将旧值和新值添加到审计表?

来自分类Dev

在触发器内部,将原始表中的 n 行插入到新表中

来自分类Dev

当主键表中的特定列为更新(使用触发器)时,将新列插入到外键表中

来自分类Dev

如何创建Postgres 11触发函数,以便在插入或更新表'a'后在表'b'中插入新行?

来自分类Dev

MySQL触发器在更新后将新行插入另一个表

来自分类Dev

创建触发器,当行更新时将旧值插入其他表

来自分类Dev

SQL Server触发器将将来的记录添加到表中

来自分类Dev

创建触发器以在创建新行时将一个表中的主键插入到MySQL中另一个表的列中

来自分类Dev

更新后如何使用触发器将参数中的数据插入表中

来自分类Dev

插入表时处理 SQLAlchemy 中的触发器

来自分类Dev

如何使用触发器在Oracle中创建镜像表?

来自分类Dev

我创建的触发器将太多行插入到“审计表”中

来自分类Dev

我创建的触发器将太多行插入到“审计表”中

来自分类Dev

当新记录添加到 Lightswitch 中的父表时,如何自动将新记录插入子表?

来自分类Dev

创建After Insert触发器后无法插入表

来自分类Dev

在表A上插入后触发将表C中的值插入表B中

来自分类Dev

如何编写一个触发器,该触发器可以在插入时将一个表中的新行复制到另一个表中?

来自分类Dev

在插入MySQL触发器之后以更新值或在另一个表中插入新行

来自分类Dev

新行插入到同一表后,错误更新触发器

来自分类Dev

ORACLE:创建将数据插入另一个表的触发器

来自分类Dev

触发器将添加到数据库的新行发送到 postgres 中的另一个数据库?

来自分类Dev

为 SUM 表创建触发器并插入到另一个表中

来自分类Dev

在MySQL中创建触发器以跳过插入时出错

来自分类Dev

如何将表中的字段添加到SELECT的结果中以创建新视图?

来自分类Dev

当我尝试将dateTime字段添加到表中时出错

来自分类Dev

如何基于表中先前插入的值创建插入前触发器

来自分类Dev

如何基于表中先前插入的值创建插入前触发器

Related 相关文章

  1. 1

    SQL触发器在插入时将新记录添加到具有相同结构的表中

  2. 2

    更新后将触发器添加到数据库中的所有表

  3. 3

    Oracle触发器是否将旧值和新值添加到审计表?

  4. 4

    在触发器内部,将原始表中的 n 行插入到新表中

  5. 5

    当主键表中的特定列为更新(使用触发器)时,将新列插入到外键表中

  6. 6

    如何创建Postgres 11触发函数,以便在插入或更新表'a'后在表'b'中插入新行?

  7. 7

    MySQL触发器在更新后将新行插入另一个表

  8. 8

    创建触发器,当行更新时将旧值插入其他表

  9. 9

    SQL Server触发器将将来的记录添加到表中

  10. 10

    创建触发器以在创建新行时将一个表中的主键插入到MySQL中另一个表的列中

  11. 11

    更新后如何使用触发器将参数中的数据插入表中

  12. 12

    插入表时处理 SQLAlchemy 中的触发器

  13. 13

    如何使用触发器在Oracle中创建镜像表?

  14. 14

    我创建的触发器将太多行插入到“审计表”中

  15. 15

    我创建的触发器将太多行插入到“审计表”中

  16. 16

    当新记录添加到 Lightswitch 中的父表时,如何自动将新记录插入子表?

  17. 17

    创建After Insert触发器后无法插入表

  18. 18

    在表A上插入后触发将表C中的值插入表B中

  19. 19

    如何编写一个触发器,该触发器可以在插入时将一个表中的新行复制到另一个表中?

  20. 20

    在插入MySQL触发器之后以更新值或在另一个表中插入新行

  21. 21

    新行插入到同一表后,错误更新触发器

  22. 22

    ORACLE:创建将数据插入另一个表的触发器

  23. 23

    触发器将添加到数据库的新行发送到 postgres 中的另一个数据库?

  24. 24

    为 SUM 表创建触发器并插入到另一个表中

  25. 25

    在MySQL中创建触发器以跳过插入时出错

  26. 26

    如何将表中的字段添加到SELECT的结果中以创建新视图?

  27. 27

    当我尝试将dateTime字段添加到表中时出错

  28. 28

    如何基于表中先前插入的值创建插入前触发器

  29. 29

    如何基于表中先前插入的值创建插入前触发器

热门标签

归档