Создать триггер для отображения сообщения «Restock- », Когда количество товара достигает 10 и ниже при обновлении или вставке товара - PullRequest
0 голосов
/ 04 марта 2020

стол

Stock:

ITEMID                            NUMBER          PRIMARY KEY
DESCRIPTION                    VARCHAR2(30) 
QUANTITY                          NUMBER
CREATE OR REPLACE TRIGGER trig_1 BEFORE
    UPDATE OR INSERT ON stock
    FOR EACH ROW
DECLARE
    v_des    VARCHAR2(30);
    v_quan   NUMBER;
BEGIN
    SELECT
        quantity,
        description
    INTO
        v_quan,
        v_des
    FROM
        stock;

    IF v_quan <= 10 THEN
        dbms_output.put_line('Restock' || v_des);
    END IF;

END;

1 Ответ

0 голосов
/ 04 марта 2020

Вам необходимо использовать курсор :NEW для ссылки на новое значение, которое вставляется или обновляется следующим образом:

CREATE OR REPLACE TRIGGER TRIG_1 BEFORE
    UPDATE OR INSERT ON STOCK
    FOR EACH ROW
BEGIN
    IF :NEW.QUANTITY <= 10 THEN
        DBMS_OUTPUT.PUT_LINE('Restock - ' || :NEW.DESCRIPTION);
    END IF;
END;
/

Убедитесь, что вы SET SERVEROUTPUT ON при вставке / обновлении данных таблицы, чтобы что он отображается в выводе.

Cheers !!

...