powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Пример создания триггера
7 сообщений из 7, страница 1 из 1
Пример создания триггера
    #32001907
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите пожалуйста примером создания триггера, например чтобы при удалении записи из таблицы с PK удалялись соответствующие записи из таблица с FK.

Всех благ, Александр.
...
Рейтинг: 0 / 0
Пример создания триггера
    #32001917
AnKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот реально работающий триггер:

CREATE TRIGGER AK_REFHDR_DEL ON AK_REFHDR
FOR DELETE
AS
DELETE AK_REFDET
FROM deleted del, AK_REFDET D
WHERE del.ID=D.LINK_ID
...
Рейтинг: 0 / 0
Пример создания триггера
    #32001926
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... и всё это будет работать при условии что поля не связаны ключами. Иначе невозможно будет удалить запись из первичного ключа, когда есть соответствующая запись во вторичном - триггер то вызывается после.
...
Рейтинг: 0 / 0
Пример создания триггера
    #32001927
AnKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для того, чтобы не возникало проблемки с внешним ключом, необходимо в его свойствах убрать галочку "Enable relationship for INSERT and UPDATE". И все будет "чики-пуки". У меня так и работает.
...
Рейтинг: 0 / 0
Пример создания триггера
    #32001973
Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не понял.
Если отключить foreign key, то
1. возникает вероятность нарушения целостности данных
2. зачем тогда нужен foreign key?
...
Рейтинг: 0 / 0
Пример создания триггера
    #32001975
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее сказать:
"1. возникает ВОЗМОЖНОСТЬ нарушения целостности данных"
Т.е. всю заботу о целостности программист берет на себя. foreign key нужет наверное только чтобы не забыть о этом
...
Рейтинг: 0 / 0
Пример создания триггера
    #32001982
dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В MSSQL 7.0. нет возможности каскадного удаления. Оно, как уже говорилось выше, может быть сделано с использованием триггеров 'вручную', но только в случае отсутствия Foreign Key-ев. Ну несовместимы в 7.0. внешние ключи и триггеры. Поэтому приходится выбирать - либо убирать внешние ключи и спокойно использовать триггеры, либо оставлять ключи и производить удаления в обратном порядке, т.е. сначала из зависимых таблиц удалять все связанные записи, а уже потом из 'главных'. В других СУБД, в том числе в SQL 2000 каскадное удаление поддерживается.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Пример создания триггера
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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