在Derby TRIGGER上的UPDATE期间指定ID

时间:2016-03-15 15:44:57

标签: sql swing derby

我刚刚开始在Derby中学习和阅读有关TRIGGER的内容,我将其用作Java项目的数据库。我过去常常使用MSSQL作为数据库。

触发器只有一个问题。我找不到语法,我不知道如何在UPDATE触发器中指定要更新的行的ID。

这就是我所拥有的。

SET @ID = (SELECT ID FROM INSERTED)

它可以更新 USERNAME 列,但会影响/更新所有行,而不仅仅是一行。这就是我遇到问题的地方。

在MSSQL中,我可以简单地添加x| y | z | d 1| 0 | A | 0.1 2| 1 | B | 0.01 3| 0 | C | 0.01 ,但我不知道如何在Derby中执行此操作。

如何在Derby上执行此操作?

感谢。

1 个答案:

答案 0 :(得分:1)

我能够解决我的问题。只需添加WHERE子句并放入Id。

我希望这可以帮助新的德比用户。

CREATE TRIGGER COPY_UPDATED_USERNAME
AFTER UPDATE OF USERNAME ON ALLUSERS
REFERENCING NEW AS NEWUSERNAME_ROW
FOR EACH ROW MODE DB2SQL
    UPDATE ALLUSERS_MAINTABSPERMISSION SET USERNAME = NEWUSERNAME_ROW.USERNAME
    WHERE USERID = NEWUSERNAME_ROW.USERID;