|
Триггеры. Удаление данных из таблиц
|
|||
---|---|---|---|
#18+
Тема бд "Гостиница" Есть 3 таблицы: Номера, Забронированные номера, Снятые комнаты. Необходимо создать триггер, который при удалении данных из таблицы Номера автоматически удалял бы те же данные из таблиц Забронированные номера и Снятые комнаты. Мои наработки Это я пытался сделать условие для удаление go create trigger Номера_deleterows2 on Номера after delete as delete from Забронированные_номера where Номер_комнаты = (select Номер_комнаты from Номера) А это добавляет информацию об операции в отдельную таблицу, т.е. какие данные удалены. insert into History (Номер_комнаты, Описание) SELECT Id,'Удален номер ' + Номер_комнаты + 'этаж' + Описание FROM History ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 11:55 |
|
Триггеры. Удаление данных из таблиц
|
|||
---|---|---|---|
#18+
Egordamov, В триггере доступны "псевдо"-таблицы deleted и inserted, содержащие информацию обо всех записях, изменившихся стейтментом, вызвавшим триггер Подробности и примеры есть в справке https://docs.microsoft.com/ru-ru/sql/t-sql/statements/create-trigger-transact-sql?view=sql-server-ver15 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 12:11 |
|
Триггеры. Удаление данных из таблиц
|
|||
---|---|---|---|
#18+
У SQL Server тоже есть внешние ключи (FOREIGN KEY) и каскадные операции. Так что и тут триггеры не нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 13:35 |
|
Триггеры. Удаление данных из таблиц
|
|||
---|---|---|---|
#18+
Есть несколько вариантов решения. 1. FOREIGN KEY (внешний ключ) с опцией ON DELETE CASCADE. 2. Триггер на удаление в таблице Номера. 3. Создать хранимую процедуру и в ней прописать нужные DELETE команды. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 18:54 |
|
|
start [/forum/topic.php?fid=46&fpage=26&tid=1684753]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 299ms |
total: | 444ms |
0 / 0 |