SQL触发器修改值后插入

科里·史陶佛

我正在寻找在新插入上触发修改值的触发器。情况如下。当向表中添加新条目时,并且如果ObjectTypeID在684和750之间,请将质量值更新为100。到目前为止,我认为应该在插入之后执行此操作,但是我还是新手。 SQL和学习。到目前为止,我无法使它正常工作。

这是我目前的尝试:

CREATE TRIGGER `items_after_insert` AFTER INSERT ON `items` FOR EACH ROW 
 BEGIN
 SET items.Quality = '100'
 FROM items
 WHERE items.ObjectTypeID > '653' AND items.ObjectTypeID < '751'
 END

使用以下建议解决:

CREATE TRIGGER `items_before_insert` BEFORE INSERT ON `items` FOR EACH ROW BEGIN
    IF NEW.ObjectTypeID > '653' AND NEW.ObjectTypeID <'751' THEN
        SET NEW.Quality = '100';
    END IF;
END
塞尔索·马里戈(Celso Marigo Jr)

您可以在触发器上使用关键字NEW和OLD来引用插入的寄存器和更新的寄存器。

MySQL文档中查看以下示例

CREATE TRIGGER upd_check BEFORE UPDATE ON account
 FOR EACH ROW
 BEGIN
     IF NEW.amount < 0 THEN
         SET NEW.amount = 0;
     ELSEIF NEW.amount > 100 THEN
         SET NEW.amount = 100;
     END IF;
 END;

现在,我认为您很容易解决您的问题。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

插入触发器后修改特定值

来自分类Dev

插入后的 SQL 触发器不起作用

来自分类Dev

插入更新和删除后的 SQL Server 触发器

来自分类Dev

SQL Server在插入触发器上更改列值

来自分类Dev

SQL插入触发器以捕获多个行的NULL值

来自分类Dev

插入或删除后Oracle触发器

来自分类Dev

插入后的MySQL触发器

来自分类Dev

创建“插入后”触发器

来自分类Dev

创建最后修改的SQL触发器

来自分类Dev

如何获取触发器的插入值

来自分类Dev

使用触发器更改插入的值

来自分类Dev

使用触发器更改插入的值

来自分类Dev

插入和更新后未触发SQL Server触发器

来自分类Dev

插入和更新后未触发SQL Server触发器

来自分类Dev

插入触发器之前的SQL

来自分类Dev

SQL触发器-更新/插入

来自分类Dev

SQL AFTER插入更新触发器

来自分类Dev

在SQL Server中插入触发器

来自分类Dev

PL/SQL 触发器防止插入

来自分类Dev

插入前的 SQL Server 触发器

来自分类Dev

SQL 选择插入触发器

来自分类Dev

MySQL触发器在插入之前修改col

来自分类Dev

在触发器中发生插入后,如何获取要设置的温度值?

来自分类Dev

插入后如何为sql server 2008制作触发器?

来自分类Dev

SQL Server 2008在插入后创建触发器...返回ID ...称为存储过程

来自分类Dev

在Oracle SQL Developer中插入后如何添加触发器以自动计算行数

来自分类Dev

插入后如何为sql server 2008制作触发器?

来自分类Dev

PL/SQL 触发器在更新或插入后更新同一个表

来自分类Dev

SQL Server 插入触发器多次插入