|
|||||||
Триггеры в SQLite
Время создания: 25.12.2012 11:55
Раздел: Компьютер - Программирование - SQL - SQLite3
Запись: xintrea/mytetra_syncro/master/base/1356422142s3rm37dzoy/text.html на raw.github.com
|
|||||||
|
|||||||
Триггеры в SQLite В SQLite много чего нет, но там есть такие полезные вещи, как триггеры. Кто не знает, триггеры – это функции, которые выполняются по какому-то событию. Пример событий: вставка строки в базу, удаление строки, обновление поля. Причем триггеры могут срабатывать как до выполнения действий по некоторому событию, так и после. Добавим к нашей таблице my_clients еще одну – my_clients_phones. Будем там хранить для каждого клиента номера телефонов (по несколько на одного клиента): CREATE TABLE my_clients_phones ( [id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, [client_id] INTEGER NOT NULL, [phone] VARCHAR(255) NOT NULL ) И вставим для Васи Пупкина (его ID у меня = 29) два номера телефона: INSERT INTO my_clients_phones (client_id, phone) VALUES (29, '123456'); INSERT INTO my_clients_phones (client_id, phone) VALUES (29, '654321'); Теперь если мы удалим Васю Пупкина, его телефонные номера останутся в базе, чего не должно быть в хорошо работающей базе. Нам нужно написать триггер, который удалит телефонные номера из таблицы для удаляемого клиента. CREATE TRIGGER delete_client BEFORE DELETE ON my_clients FOR EACH ROW BEGIN DELETE FROM my_clients_phones WHERE client_id = OLD.id; END Здесь мы создали простой триггер, который выполнит запрос удаления из таблицы my_clients_phones номера телефона, владелец которого будет удален. Заключение Здесь я лишь показал, как примерно можно пользоваться PDO и SQLite. За подробной документацией отправляю Вас на следующие сайты: Документация по SQLite: http://i-novice.net/gout/DkIQRQgcSxMSRxkWRl9cFQYYXkYE/ Документация по PDO: http://i-novice.net/gout/DkIQRQgcSxYQAhkVX0MbDwZCHkQHWw==/ Как использовать SQLite в PHP http://www.litewebsite.com/ |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|