database-trigger相关内容

MySQL - 插入后更新同一张表的触发器

这是我想要做的: 当有一个新的 INSERT 到表 ACCOUNTS 中时,我需要更新 ACCOUNTS 中的行 pk = NEW.edit_on 通过设置 status='E' 来表示特定(旧)帐户已被编辑. 分隔符 $$如果存在则删除触发器`setEditStatus`$$在帐户上插入后创建触发器`setEditStatus`每一行开始更新 ACCOUNTS 设置状态 ='E' 其中 ..
发布时间:2022-01-30 20:05:05 数据库

是否可以动态循环遍历表的列?

我有一个表测试的触发器函数,它具有以下代码片段: IF TG_OP='UPDATE' THEN如果 OLD.locked >0 与( OLD.org_id NEW.org_id 或OLD.document_code NEW.document_code 或-- 其他栏目...)然后提出异常“消息";-- 更多代码 所以我静态检查所有列的新值及其以前的值以确保完整性.现在每次我的业务逻辑 ..
发布时间:2022-01-01 21:20:48 其他开发

如何避免“表变异"错误

我有一个触发器,需要在删除一行后从表中读取数据.本质上,我需要计算与当前行相似的剩余行,如果该计数为零,则更新其他地方的字段. 经过两天的折腾,我一直无法弄清楚如何重组我的思维过程以允许我这样做.下面是一个例子: CREATE OR REPLACE TRIGGER Di_PatMustBeWell删除后ON 诊断每行宣布--PRAGMA AUTONOMOUS_TRANSACTION;Num ..
发布时间:2022-01-01 21:09:56 数据库

如何在 MySQL 中禁用触发器?

在我的 MySQL 数据库中,我有一些触发器 ON DELETE 和 ON INSERT.有时我需要禁用一些触发器,我必须DROP 例如 DROP TRIGGER IF EXISTS hostgroup_before_insert// 并重新安装.SET 触发 hostgroup_before_insert = 0 是否有任何快捷方式,就像我们有外键一样: mysql>选择版本();+--- ..
发布时间:2022-01-01 20:50:24 数据库

Oracle 触发器错误 ORA-04091

我在执行触发器时收到错误(ORA-04091:表 DBPROJEKT_AKTIENDEPOT.AKTIE 正在发生变化,触发器/函数可能看不到它): 创建或替换触发器 Aktien_Bilanz_Berechnung后插入或更新 TAGESKURS或插入或更新 WERT_BEIM_EINKAUF在阿克蒂每行宣布bfr号码;开始bfr := :new.TAGESKURS - :new.WERT_B ..
发布时间:2022-01-01 20:42:14 数据库

MySQL 触发器为 NEW 行设置值并更新同一表中的另一个

我有一张表格,用于记录特定项目的费用.这些费用会随着时间的推移而变化,所以我有两列(startDate、endDate),当前的费用在遥远的将来总是有一个 endDate.我已经有一个触发器,我用它来对输入的新行进行一些计算,但我还希望发生的是,如果我输入一个已经有条目的项目,我想将前一个条目的 endDate 设置为前一天新条目的 startDate 和新的 endDate 到预定的遥远日期.这 ..
发布时间:2022-01-01 20:41:45 数据库

如何在语句的触发器内获取受语句影响的行数

我有一个语句级触发器,每当对表(称为客户)执行 INSERT UPDATE 或 DELETE 操作时都会触发该触发器.我想显示一条消息(到 DBMS_OUTPUT),其中包含插入/更新/删除的行数. 我只想为每个触发语句发送一条消息,例如'4 行被插入到客户表中'. 如何从触发器声明的内部访问受触发语句影响的行数,即下面代码中的XXX: 创建或替换触发器 customer_chang ..
发布时间:2021-12-24 16:17:09 数据库

如何在 Postgresql 中获取结合 old.variablename 的列数据?

我正在尝试构建一个审计触发器函数(适用于多个表)来检索表的主键列.例如,有一个表customers 的主键是'customerid',还有一个表orders 的主键是'orderid'. 通过这个,我找到了触发函数的表的列/主键的名称并将其存储在“prim"中. prim :=(SELECT c.column_nameFROM information_schema.key_column_u ..
发布时间:2021-11-30 16:59:25 其他开发

MySQL - 插入后更新同一个表的触发器

这是我想要做的: 当表 ACCOUNTS 中有一个新的 INSERT 时,我需要更新 ACCOUNTS 中的行,其中 pk = NEW.edit_on 通过设置 status='E' 来表示特定(旧)帐户已被编辑. DELIMITER $$如果存在则删除触发器`setEditStatus`$$插入帐户后创建触发器`setEditStatus`对于每一行开始更新帐户设置 status='E' ..
发布时间:2021-11-20 21:16:35 数据库

Sequelize Migration - 在 PostgreSQL 中创建触发器

我需要在 Node 和 PostgreSQL 中使用 Sequelize Migration 在我的一个表上创建触发器.我还没有找到足够的相关文档. 目前我使用的是 sequelize 3.23 版,对 PostgreSQL 触发器非常熟悉,但无法找到有关触发器迁移的任何内容. 我正在关注 sequelize 网站上提供的与迁移相关的文档: module.exports = {向上 ..
发布时间:2021-06-18 21:00:54 其他开发

T-SQL更新触发器

我正在尝试在SQL Server中创建以下触发器,但是SSMS会引发错误,我不知道它是什么.有什么想法吗? 第15层状态1的第2行156消息 关键字“触发"附近的语法不正确. 代码: 如果不存在(SELECT * FROM sys.triggers在哪里object_id = OBJECT_ID(N'[dbo].[trAfterUpdateInfoDoc]'))创建触发器[dbo] ..
发布时间:2021-04-28 20:37:08 数据库

如何在MySQL中编写具有多个条件的触发器

我用以下字段制作了两个表: 表1:“演示"领域:“类固醇"栏位:"cpid"FIELD:“状态"表2:“样本"栏位:"id"场域:"conid"FIELD:“状态样本"FIELD:“日期" 每当采样表字段 statussample 更改时,我想更新 status .条件应该是 1)`demoid`和`id`相同,而`cpid`和`conid`相同.(如果有多个值,我希望使用该字段的最后一 ..
发布时间:2021-04-28 20:36:21 数据库

为什么我的SQL Server触发器从不同的事务中写入两条具有相同时间戳的记录?

我有一个带有整数 Status 列的SQL Server表.我的代码更新了记录的 Status (状态),然后在几毫秒后再次将其更新为另一个值. 此表具有一个触发器,每次 Status 值更改时,该触发器就会将记录插入到单独的 History 表中. History 表的以下各列: Id uniqueidentifier :更新记录的PK值(注意:不是外键-我们不需要参照完整性) ..
发布时间:2021-04-28 20:35:30 C#/.NET

使用触发器在同一张表上插入新行

我有一张桌子 JOB .它包含以下列: cycle_id,job_id,状态. 每个周期执行7个作业.因此, cycle_id 和 job_id 形成了复合主键. 状态列可以具有以下值: WAITING_TO_START,正在运行.已完成. 每个工作都是Cron工作.而且每个工作都是不同人的责任,因此要同步我正在使用数据库表JOB的每个人.每个作业都会侦听JOB表,并查看是否有一 ..
发布时间:2021-04-28 20:35:11 数据库

插入触发器是否需要提交语句

这是实际情况的简化;在哪里可以看到表B上缺少的记录. 说有两个数据库表A;B. 在表A上有一个on插入触发器;它可以对表B进行插入(但它没有COMMIT;).如果我们通过JDBC连接器打开数据库连接;并在表A上插入;并提交;触发器的行为是什么?会自动将其提交到表B上的插入语句吗? 解决方案 触发器不仅不需要COMMIT,而且您不能放入COMMIT:如果主体的代码中包含COMMI ..
发布时间:2021-04-28 20:34:18 数据库

我如何基于另一个表中的值创建重复记录

我的数据库中有两个表, Work_Order 表是存储工作订单信息的源表,我也有 Work_Schedule 表,其中包含工作时间表,这些工作表告诉人们生产车间要建造什么,何时建造以及要建造多少. Work_Order表看起来像 工单ItemCode大小数量Qty_per_HR41051 600111 14L-16.1 55 10 我想根据每小时工时在上面的工作单表中复制上述工作单行, ..
发布时间:2021-04-28 20:34:06 数据库

从触发器或mysql中的存储过程调用REST API?

我想从存储过程中以 POST 方法调用rest api或在Windows上的mysql服务器中触发. 如何仅通过MySQL执行此操作? 解决方案 您可以使用mysql-udf-http,然后创建如下触发器: 定界符$$在帐户更新之前创建触发器upd_check每行开始如果NEW.amount>0然后设置@json =选择json_object(account_id,amount)选 ..
发布时间:2021-04-28 20:34:00 数据库

PostgreSQL:检查触发器函数中的NEW和OLD

我想创建一个对行进行计数并更新另一个表中的字段的触发器.我当前的解决方案适用于INSERT语句,但是当我删除一行时失败. 我当前的功能 创建或替换功能update_table_count()RETURNS触发为$$DECLARE updatecount INT;开始选择count(*)到updatecount来自source_table其中id = new.id;更新dest_table设 ..
发布时间:2021-04-28 20:33:20 其他开发