Hi! Could we please enable some services and cookies to improve your experience and our website?
No, thanks.
Okay!
SQLize
Online
/
PHPize Online
/
SQLtest Online
A
A
A
Share
Donate
Blog
Popular
Donate
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.
SQL code:
Upload
Copy
Format
Clear
-- Изменяем разделитель инструкций для создания триггеров DELIMITER // -- Триггер для автоматического уменьшения количества книг на складе после оформления заказа CREATE TRIGGER decrease_book_count AFTER INSERT ON Orders FOR EACH ROW BEGIN UPDATE Books SET b_count = b_count - NEW.o_number WHERE book_ID = NEW.o_book_ID; END // -- Триггер для проверки положительной стоимости товара перед обновлением CREATE TRIGGER check_positive_price BEFORE UPDATE ON Books FOR EACH ROW BEGIN IF NEW.b_price < 0 THEN SET NEW.b_price = 0; END IF; END // -- Возвращаем разделитель инструкций к значению по умолчанию DELIMITER ; -- Пример использования триггера decrease_book_count -- Установка значения по умолчанию для количества на складе (если таблица Books и запись существуют) UPDATE Books SET b_count = 10 WHERE book_ID = 1; -- Проверка текущего количества на складе SELECT book_ID, b_name, b_count FROM Books WHERE book_ID = 1; -- Добавление нового заказа, который уменьшит количество книг на складе INSERT INTO Orders (o_c_ID, o_e_ID, o_placed_date, o_execution_date, o_amount, o_is_completed, o_book_ID, o_number) VALUES (1, 1, NOW(), NOW(), 100.00, 0, 1, 3); -- Проверка количества книг после добавления заказа SELECT book_ID, b_name, b_count FROM Books WHERE book_ID = 1; -- Пример использования триггера check_positive_price -- Попытка установить отрицательную цену (будет заменена на 0) UPDATE Books SET b_price = -50 WHERE book_ID = 1; -- Проверка результата обновления цены SELECT book_ID, b_name, b_price FROM Books WHERE book_ID = 1; -- Удаление триггеров (если необходимо) DROP TRIGGER IF EXISTS decrease_book_count; DROP TRIGGER IF EXISTS check_positive_price;
SQL
Server:
MySQL 8.0
MySQL 8.0 Sakila (ReadOnly)
MySQL 9.3.0
MariaDB 11.4
MariaDB 11.8
MariaDB 10
MariaDB 10 Sakila (ReadOnly)
SQLite 3
SQLite 3 Preloaded
PostgreSQL 10 Bookings (ReadOnly)
PostgreSQL 13
PostgreSQL 14
PostgreSQL 15
PostgreSQL 16
PostgreSQL 17
MS SQL Server 2017
MS SQL Server 2019
MS SQL Server 2022
MS SQL Server 2022 AdventureWorks (ReadOnly)
Firebird 4.0
Firebird 4.0 (Employee)
Oracle Database 19c (HR)
Oracle Database 21c
Oracle Database 23c Free
SOQOL
Version
ER Diagram
Preserve result
Stuck with a problem?
Got Error?
Ask ChatGPT!
Result:
Copy
Clear