Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular

SQLize.online is a free online SQL environment for quickly running, experimenting with and sharing code. You can run your SQL code on top of the most popular RDBMS including MySQL, MariaDB, SQLite, PostgreSQL, Oracle and Microsoft SQL Server.

Copy Format Clear
CREATE OR REPLACE TRIGGER check_customer_before_order -- Создаем или заменяем триггер BEFORE INSERT OR UPDATE ON Orders -- Триггер срабатывает перед INSERT или UPDATE в таблице Orders FOR EACH ROW -- Для каждой строки DECLARE customer_exists NUMBER; -- Объявляем переменную для хранения количества найденных клиентов BEGIN -- Проверяем, существует ли клиент перед вставкой или обновлением заказа. SELECT COUNT(*) INTO customer_exists -- Считаем количество клиентов с совпадающим номером телефона FROM Customer WHERE phone = :NEW.submittedBy; -- :NEW.submittedBy - значение submittedBy в строке, которая добавляется или изменяется -- Если клиент не существует, генерируем исключение. IF customer_exists = 0 THEN RAISE_APPLICATION_ERROR(-20001, 'Клиент с номером телефона ' || :NEW.submittedBy || ' не существует.'); -- Выбрасываем исключение с сообщением об ошибке END IF; END;

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear