1
CREATE OR REPLACE TRIGGER precio_reparaciones
BEFORE INSERT OR UPDATE ON Reparaciones
FOR EACH ROW

BEGIN
    UPDATE Reparaciones
    SET precio = :NEW.gasto_material * :NEW.tiempo_usado * :NEW.factor
    WHERE :NEW.garantia = 0;
END;

SQL Developerは、最初の構文エラーを示しています:NEW。(私は Oracle Database Express Edition 11g を使用しています。)

どうすれば解決できますか?

4

1 に答える 1

1

@Kern Golstein によるコメントの返信として -

以下のようにトリガーを変更できます-

CREATE OR REPLACE TRIGGER precio_reparaciones
BEFORE INSERT OR UPDATE ON Reparaciones
FOR EACH ROW

BEGIN
if :new.garantia = 0 then 
    :new.precio := :NEW.gasto_material * :NEW.tiempo_usado * :NEW.factor;
    end if;
END;
于 2013-05-14T12:28:33.973 に答える