Oracle 第3行错误:PL/SQL:ORA-01747:无效的user.table.column、table.column或column规范

Oracle 第3行错误:PL/SQL:ORA-01747:无效的user.table.column、table.column或column规范,oracle,plsql,Oracle,Plsql,嗨,我在oracle中编写了一个sql脚本 CREATE OR REPLACE TRIGGER TIPUSUPDATE AFTER UPDATE OF RENDSZAM, MODELL ON AUTO FOR EACH ROW BEGIN UPDATE TIPUS SET TIPUS.RENDSZAM = :NEW.RENDSZAM, SET TIPUS.MODELL = :NEW.MODELL WHERE TIPUS.RENDSZAM = :OLD.RENDSZ

嗨,我在oracle中编写了一个sql脚本

CREATE OR REPLACE TRIGGER TIPUSUPDATE
AFTER UPDATE OF RENDSZAM, MODELL
ON AUTO
FOR EACH ROW
BEGIN
    UPDATE TIPUS
    SET TIPUS.RENDSZAM = :NEW.RENDSZAM,
    SET TIPUS.MODELL = :NEW.MODELL
    WHERE TIPUS.RENDSZAM = :OLD.RENDSZAM
    AND TIPUS.MODELL = :OLD.MODELL;
END;
我创建了表,但运行此脚本时收到一条错误消息:

第3行错误:PL/SQL:ORA-01747:无效的user.table.column、table.column或column规范


有人能帮我吗?

我尝试了以下方法,并且效果良好。正如sstan前面提到的,update语句中不能有两个set子句。在执行以下操作之前,请确保已创建表AUTO和TIPUS

CREATE OR REPLACE TRIGGER TIPUSUPDATE
AFTER UPDATE OF RENDSZAM, MODELL ON AUTO
FOR EACH ROW
BEGIN
UPDATE TIPUS
SET TIPUS.RENDSZAM = :NEW.RENDSZAM,
TIPUS.MODELL = :NEW.MODELL
WHERE TIPUS.RENDSZAM = :OLD.RENDSZAM
AND TIPUS.MODELL = :OLD.MODELL;
END;
/

在调用表之前,请始终记住在架构名称前面加前缀

CREATE OR REPLACE TRIGGER <schema_name>.TIPUSUPDATE
AFTER UPDATE OF RENDSZAM, MODELL
ON <schema_name>.AUTO
FOR EACH ROW
BEGIN
    UPDATE <schema_name>.TIPUS
    SET TIPUS.RENDSZAM = :NEW.RENDSZAM,
        TIPUS.MODELL = :NEW.MODELL
    WHERE TIPUS.RENDSZAM = :OLD.RENDSZAM
    AND TIPUS.MODELL = :OLD.MODELL;
END;
创建或替换触发器。更新
更新RENDSZAM后,MODELL
自动
每行
开始
更新:TIPUS
设置TIPUS.RENDSZAM=:NEW.RENDSZAM,
TIPUS.MODELL=:NEW.MODELL
其中TIPUS.RENDSZAM=:OLD.RENDSZAM
和TIPUS.MODELL=:OLD.MODELL;
终止

首先,在
update
语句中不能有2个
set
子句。为什么您认为这是命名问题?