|
Пример создания триггера
|
|||
---|---|---|---|
#18+
Помогите пожалуйста примером создания триггера, например чтобы при удалении записи из таблицы с PK удалялись соответствующие записи из таблица с FK. Всех благ, Александр. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2001, 04:50 |
|
Пример создания триггера
|
|||
---|---|---|---|
#18+
Вот реально работающий триггер: 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2001, 10:29 |
|
Пример создания триггера
|
|||
---|---|---|---|
#18+
... и всё это будет работать при условии что поля не связаны ключами. Иначе невозможно будет удалить запись из первичного ключа, когда есть соответствующая запись во вторичном - триггер то вызывается после. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2001, 11:05 |
|
Пример создания триггера
|
|||
---|---|---|---|
#18+
Для того, чтобы не возникало проблемки с внешним ключом, необходимо в его свойствах убрать галочку "Enable relationship for INSERT and UPDATE". И все будет "чики-пуки". У меня так и работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2001, 11:17 |
|
Пример создания триггера
|
|||
---|---|---|---|
#18+
Я не понял. Если отключить foreign key, то 1. возникает вероятность нарушения целостности данных 2. зачем тогда нужен foreign key? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2001, 14:58 |
|
Пример создания триггера
|
|||
---|---|---|---|
#18+
Точнее сказать: "1. возникает ВОЗМОЖНОСТЬ нарушения целостности данных" Т.е. всю заботу о целостности программист берет на себя. foreign key нужет наверное только чтобы не забыть о этом ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2001, 15:38 |
|
Пример создания триггера
|
|||
---|---|---|---|
#18+
В MSSQL 7.0. нет возможности каскадного удаления. Оно, как уже говорилось выше, может быть сделано с использованием триггеров 'вручную', но только в случае отсутствия Foreign Key-ев. Ну несовместимы в 7.0. внешние ключи и триггеры. Поэтому приходится выбирать - либо убирать внешние ключи и спокойно использовать триггеры, либо оставлять ключи и производить удаления в обратном порядке, т.е. сначала из зависимых таблиц удалять все связанные записи, а уже потом из 'главных'. В других СУБД, в том числе в SQL 2000 каскадное удаление поддерживается. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2001, 17:41 |
|
|
start [/forum/topic.php?desktop=1&fid=46&tid=1827401]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 248ms |
total: | 369ms |
0 / 0 |