|
|
|
Запрет удаления строк из дочерней таблицы
|
|||
|---|---|---|---|
|
#18+
Есть 2 связанные таблицы 1: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 2: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. связь от [Nodes] (1-N) [sdh_mux_settings] по node_id. FK с каскадом от родительской [Nodes] работает прекрасно. Но мне надо бы еще защитить [sdh_mux_settings] от удаления строк, иначе получается - ключ в Родительской есть, а в дочерней данных нет. ----------------------- Как запретить удаление из дочерней таблицы. чтобы удаление напрямую было невозможно, а только через каскад из Родительской? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 15:55 |
|
||
|
Запрет удаления строк из дочерней таблицы
|
|||
|---|---|---|---|
|
#18+
dreel Как запретить удаление из дочерней таблицы. чтобы удаление напрямую было невозможно, а только через каскад из Родительской? Может не давать прав на удаление пользователю? ( REVOKE DELETE ON таблица FROM user ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 16:06 |
|
||
|
Запрет удаления строк из дочерней таблицы
|
|||
|---|---|---|---|
|
#18+
dreelКак запретить удаление из дочерней таблицы. чтобы удаление напрямую было невозможно, а только через каскад из Родительской? В триггере на after delete в дочерней сделайте проверку, что запись в родительской таблице еще есть. Если записи уже нет - значит ее delete отработал и строки дочерней удаляются по каскаду. По крайней мере, если каскадное удаление сделано в триггере на родительской таблице, это будет работать, про FK не скажу точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 16:25 |
|
||
|
Запрет удаления строк из дочерней таблицы
|
|||
|---|---|---|---|
|
#18+
Сергей Васкецов В триггере на after delete в дочерней сделайте проверку, что запись в родительской таблице еще есть. Если записи уже нет - значит ее delete отработал и строки дочерней удаляются по каскаду. По крайней мере, если каскадное удаление сделано в триггере на родительской таблице, это будет работать, про FK не скажу точно. стало интересно, попробовал - работает на ура и с FK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 17:14 |
|
||
|
Запрет удаления строк из дочерней таблицы
|
|||
|---|---|---|---|
|
#18+
>иначе получается - ключ в Родительской есть, а в дочерней данных нет. Т.е. в общем случае отбирать права удаления нельзя, а нужно проверять в что-то типа Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 17:24 |
|
||
|
Запрет удаления строк из дочерней таблицы
|
|||
|---|---|---|---|
|
#18+
Да. Точно! Вы меня превосходно поняли! Я сомневался, что с FK будет работать и даже не попробовал.... Спасибо - буду делать. p/s/ - вкурил )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 08:55 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=116&tid=1544361]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 385ms |

| 0 / 0 |
