Как преобразовать триггер SQL Server в триггер Oracle? - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь преобразовать триггер SQL Server в триггер Oracle, этот триггер предназначен, если я продаю продукт, а количество продукта равно 0, тогда продажа должна быть отменена, но синтаксис для оракула отличается.

Вот версия SQL Server

create trigger IfQuantityIsZero on Products for update 
as 
IF (SELECT Quantity FROM INSERTED) < 0 BEGIN
    RAISERROR ('The sale can not be made, it exceeds the existing quantity of the product.',10,1)
ROLLBACK TRANSACTION
END

1 Ответ

0 голосов
/ 05 ноября 2018

Как то так?

CREATE OR REPLACE TRIGGER ifquantityiszero BEFORE
     UPDATE  --OR INSERT 
   ON products FOR EACH ROW
BEGIN
     IF
          :NEW.quantity < 1 --refer to the modified columns in products using :NEW.column
     THEN
          RAISE_APPLICATION_ERROR(-20000,'The sale can not be made, it exceeds the existing quantity of the product.'
          );

     END IF;
END;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...