【问题标题】:Specifying the ID during UPDATE on Derby TRIGGER在 Derby TRIGGER 上的 UPDATE 期间指定 ID
【发布时间】:2016-07-01 04:01:11
【问题描述】:

我刚开始学习和阅读 Derby 中的 TRIGGER,我将其用作 Java 项目的数据库。我过去曾经将 MSSQL 作为数据库。

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

这就是我所拥有的。

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

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

在 MSSQL 中,我可以简单地输入 SET @ID = (SELECT ID FROM INSERTED),但我不知道在 Derby 中如何操作。

如何在德比上做到这一点?

谢谢。

【问题讨论】:

    标签: sql swing derby


    【解决方案1】:

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

    我希望这对新的 derby 用户有所帮助。

    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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-17
      • 1970-01-01
      • 2012-09-03
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      • 2013-05-09
      • 1970-01-01
      相关资源
      最近更新 更多