编辑刚插入数据库的行

Phate01

我有一个更好地解释这种情况的例子。我有桌子A

CREATE TABLE A( ID NUMBER, VAL NVARCHAR2(255) )

然后创建一个触发器,对它刚插入的行进行更新

CREATE OR REPLACE TRIGGER XXX
    AFTER INSERT 
    ON A
    FOR EACH ROW

DECLARE

BEGIN
    UPDATE A SET VAL = 'LOL' WHERE ID = :NEW.ID;
END;

当我执行插入

INSERT INTO A VALUES(1, 'XX')

我懂了

ORA-04091: table name is mutating, trigger/function may not see it

有解决方法吗?

a_horse_with_no_name

您不需要更新,只需在BEFORE触发器中分配新值即可

CREATE OR REPLACE TRIGGER XXX
    BEFORE INSERT --<< You need a BEFORE trigger for this to work.
    ON A
    FOR EACH ROW
BEGIN
    :new.val := 'LOL';
END;

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从PHP页面编辑数据库行

来自分类Dev

Django:将行插入数据库

来自分类Dev

将数据行插入Sqlite数据库

来自分类Dev

如何从html表编辑数据库行值

来自分类Dev

使用thymeleaf + JPA从数据库编辑行

来自分类Dev

过滤和编辑数据库行Android Studio

来自分类Dev

Django - 编辑 HTML 表格行并更新数据库

来自分类Dev

无法将新行插入数据库

来自分类Dev

我无法将行插入数据库-Django

来自分类Dev

在WordPress数据库中插入两行

来自分类Dev

在MySQL数据库中插入新行

来自分类Dev

PHP-如何计算插入数据库的行

来自分类Dev

插入数据库后无法选择行

来自分类Dev

获取数据库中刚刚插入的行的id

来自分类Dev

使用实体框架将大量行插入数据库

来自分类Dev

随机插入数据库

来自分类Dev

随机插入数据库

来自分类Dev

无法插入数据库

来自分类Dev

从PHP插入数据库

来自分类Dev

可选插入数据库?

来自分类Dev

插入数据库Haskell

来自分类Dev

PDO插入数据库

来自分类Dev

随机插入数据库

来自分类Dev

插入数据库失败

来自分类Dev

Bash模板,使用zenity(或yad)在文件或数据库中插入/编辑/删除记录

来自分类Dev

Bash模板,使用zenity(或yad)在文件或数据库中插入/编辑/删除记录

来自分类Dev

来自其他表的Sqlite数据库插入数据仅插入一行

来自分类Dev

从mysql数据库编辑数据

来自分类Dev

数据未插入数据库