powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Триггеры. Удаление данных из таблиц
5 сообщений из 5, страница 1 из 1
Триггеры. Удаление данных из таблиц
    #40066633
Egordamov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тема бд "Гостиница"
Есть 3 таблицы: Номера, Забронированные номера, Снятые комнаты.
Необходимо создать триггер, который при удалении данных из таблицы Номера автоматически удалял бы те же данные из таблиц Забронированные номера и Снятые комнаты.

Мои наработки

Это я пытался сделать условие для удаление
go
create trigger Номера_deleterows2 on Номера after delete
as delete from Забронированные_номера where Номер_комнаты = (select Номер_комнаты from Номера)


А это добавляет информацию об операции в отдельную таблицу, т.е. какие данные удалены.
insert into History (Номер_комнаты, Описание)
SELECT Id,'Удален номер ' + Номер_комнаты + 'этаж' + Описание
FROM History
...
Рейтинг: 0 / 0
Триггеры. Удаление данных из таблиц
    #40066644
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Egordamov,

В триггере доступны "псевдо"-таблицы deleted и inserted, содержащие информацию обо всех записях, изменившихся стейтментом, вызвавшим триггер

Подробности и примеры есть в справке

https://docs.microsoft.com/ru-ru/sql/t-sql/statements/create-trigger-transact-sql?view=sql-server-ver15
...
Рейтинг: 0 / 0
Триггеры. Удаление данных из таблиц
    #40066707
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У SQL Server тоже есть внешние ключи (FOREIGN KEY) и каскадные операции. Так что и тут триггеры не нужны.
...
Рейтинг: 0 / 0
Триггеры. Удаление данных из таблиц
    #40066921
Есть несколько вариантов решения.

1. FOREIGN KEY (внешний ключ) с опцией ON DELETE CASCADE.
2. Триггер на удаление в таблице Номера.
3. Создать хранимую процедуру и в ней прописать нужные DELETE команды.
...
Рейтинг: 0 / 0
Триггеры. Удаление данных из таблиц
    #40067172
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше всего написать процедуру для удаления.
Проще контролировать, не блокирует таблицу при обновлении кода.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Триггеры. Удаление данных из таблиц
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]