问题标签 [mutating-table]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 在删除触发器上选择表时突变触发器
请帮助解决以下问题。我有一个有两行的表,在删除一行时我写了一个触发器,我想将记录写入另一行的暂存表(staging_tbl)中,删除后将保留该表。但它会引发一个有效的变异触发错误。但是有没有办法我可以避免它并将记录写入临时表,只有主表中有 2 行,其中一个被删除(而不是表上的所有删除)。
oracle - Copy row to history table before update without enumerating column names in PL/SQL trigger?
I am trying to create a PL/SQL trigger that copies the current version of a row into a history table when the row is updated. This can be easily done like this:
However, I would like to avoid enumerating all the column names since the tables bar
and bar_history
are identical and I don't want to update the trigger every time I change the table. I have tried two approaches, none of which are working. Is there any other way to solve this?
Approach 1:
Since you apparently can not use :old
as a rowtype (see this question) I get the following error message:
PLS-00049: bad bind variable 'OLD'
Approach 2:
This also gives me an error:
ORA-04091: BAR is mutating, trigger/function may not see it
sql - 变异表 - 触发错误
我必须实现以下触发器:
1960 年以后的选举,每个选举年的总票数不超过 538
但是,我得到了变异表错误。我明白为什么我会收到错误消息,但我看不到其他解决方案(带触发器)。我可以创建一个临时表,但我只想拥有触发器。这是代码:
sql - Oracle SQL创建触发器以增加每行的序列号
我正在尝试创建一个触发器,但我了解到我无法像第一次尝试那样设计它,如下所示。由于在修改表时从表中进行选择,这将导致“变异表”错误。一次只插入一条记录时,实际上并没有导致此错误,但是当我一次插入多条记录时,它确实会导致此错误。
触发器的目的是统计客户等于即将插入的客户的表中的记录数,并将新的order_num值设置为count+1。我还有一个由从序列中提取的触发器设置的公钥值。一旦我删除了触发器的 order_num 部分和相关的 SELECT,这部分就可以正常工作了。我怎样才能在这里实现我想要做的事情?提前致谢。
database - 更新后在 DML 触发器中调用对象成员函数(ORACLE 数据库)
我有一个带有PRODUCTS
对象表的数据库,Product
其中PRIMARY KEY
是EAN
字段。每次更新一行时,我都想调用Product
修改后的新对象的成员函数。我做了这个触发器:
但是当我更新PRODUCTS
它给我这个错误:
正如我所怀疑的那样。有没有办法做到这一点?谢谢!
oracle - Oracle 触发器突变错误
这个触发器给出了变异错误,请帮助修复它。
oracle - 同时触发器使插入和更新变得困难
我在 Oracle 中有 4 个表:hotel
, tourist
, stay
, leave
. 该stay
表涉及游客入住酒店,该leave
表存储游客离开酒店的日期信息。
我有兴趣检查tenants_amount
插入或更新hotel
是否与表的内容一致stay
,所以我写了这个触发器hotel
我还编写了第二个触发器,用于存储 的信息leave
和管理 的tenants_amount
属性hotel
。当对 DML 进行操作时触发此触发器,stay
因为它是表示此关系的表
最后,我尝试插入一些行:
我从酒店触发器中得到错误:
这就是发生的情况:当触发 的触发器时,stay
它会尝试用 增加tenants_amount
酒店的id=1
,这是触发 的触发器的更新hotel
。hotel
检查的触发器是否tenants_amount
与的内容一致,stay
但更改仍然不可见并且它没有找到任何行。这意味着tenants_amount
应该为 0,但更新时将hotel
其设置为 1。
我想知道如何解决这个问题。
oracle - 如何在 Oracle 数据库 10g 中编写“IF UPDATING”触发器?
我正在编写一个触发器,以确保只能将一种类型的钱设置为官方货币。我的意图是编写一个“在插入或更新之前”触发器。INSERT 部分工作正常,但问题是对 UPDATING 部分进行编码,因为当我尝试更新表时,我收到 ORA-04091“突变表”。你有什么主意吗?
表(只能设置一条记录为'Y'):
扳机:
sql - 触发变异错误
我在 schema1 中有 emp 表,在 schema2 中有 emp_fianl。
当 schema1 emp 表中的状态更改为完成时,我必须创建一个触发器以在 Schema2 emp_final 表中插入数据。我在下面写了相同的触发器:
我收到上述代码的变异错误消息。当我尝试更新 emp 表中的状态时。我是一名 java 开发人员,在 Oracle、SQL 方面没有太多经验。有人可以帮忙吗?
sql - 更新前的 Oracle SQL 变异表触发器
我想为表创建一个更新触发器。触发器已创建,但是当我更新 column 时finish
,它说 mutating table。
这是我的代码
这个触发器给了我“变异表”错误,到目前为止我一直无法修复它。有什么建议吗?谢谢