gpt4 book ai didi

oracle - 使用触发器更改插入的值

转载 作者:行者123 更新时间:2023-12-03 21:37:23 28 4
gpt4 key购买 nike

几周前我刚刚开始学习 SQL,我正在尝试制作一个触发器,如果​​插入的值小于 10,它会将插入的值更改为 10。我现在搜索了 4h,我找到了很多答案,但没有很好(对我来说)。我真的不明白问题出在哪里。
这是代码:

CREATE OR REPLACE TRIGGER NumberOfBooks
BEFORE INSERT
ON Book
FOR EACH ROW
BEGIN
IF new.nobook < 10
THEN
SET new.nobook = 10;
END IF;
END;

最佳答案

在 Oracle 的触发器语法中,新插入的记录由 :new 引用。 ,不是 new (注意冒号)。此外,SET是更新语句的一部分,而不是设置字段值的方法 - 这些是通过简单的赋值完成的,但请注意这些是通过 := 完成的。而不是 = .

所以,你的触发器应该是:

CREATE OR REPLACE TRIGGER NumberOfBooks
BEFORE INSERT
ON book
FOR EACH ROW
BEGIN
IF :new.nobook < 10
THEN
:new.nobook := 10;
END IF;
END;

关于oracle - 使用触发器更改插入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20021644/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com