|
|
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
hi all DDL: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. Test: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Содержимое столба T DETL _CNT мну понятно. Не въезжаю, однако, что мешает триггерам (обоим, и before и after) видеть master-запись ? Менять её они не должны, видимо, но почему нельзя её ЧИТАТЬ, ведь стейтмент еще не завершен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 19:42:48 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидНе въезжаю, однако, что мешает триггерам (обоим, и before и after) видеть master-запись ? То, что она к этому моменту уже удалена. Так работают каскады. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:20:07 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Добавил в триггеры before & after delete также на таблицу t Main : Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Вот я тепеь внимательно смотрю и тихо офигеваю :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:20:44 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТо, что она к этому моменту уже удалена. Так работают каскады.Как-то логичнее смотрелось бы 1) залочивание мастер-строки (от любых изменений) 2) срабатывание before-триггера в master-строке 3) проведение удалений подчиненных строк (и срабатывание before + after триггеров detail-таблицы) 4) срабатывание after-триггера в master-строке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:22:32 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидКак-то логичнее смотрелось бы 1) залочивание мастер-строки (от любых изменений) Вот физическое удаление и есть это залочивание. Мало того, что её после этого нельзя изменить, так на неё ещё и сослаться невозможно, ЧиТД. Насчёт пп. 3-4 я согласен. Но это, наверное, историческое поведение, так что менять не будут. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:28:24 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидКак-то логичнее смотрелось быПоторопился, вот что на самом деле имелось в виду: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:32:06 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТаблоидКак-то логичнее смотрелось бы 1) залочивание мастер-строки (от любых изменений) Вот физическое удаление и есть это залочивание. Мало того, что её после этого нельзя изменить, так на неё ещё и сослаться невозможно, ЧиТД. Насчёт пп. 3-4 я согласен. Но это, наверное, историческое поведение, так что менять не будут.Залочивание для последующего удаления еще НЕ означает, что строку нельзя прочитать, пока это самое удаление не произойдёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:33:31 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидЗалочивание для последующего удаления еще НЕ означает НЕ ДОЛЖНО ОЗНАЧАТЬ, что строку нельзя прочитать, пока это самое удаление не произойдёт.(поправел) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:34:11 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
0xFF. блин, а еще же в триггере деталь-таблицы при событии "deleting" ни хрена не узнать, КАКОЙ это delete был: каскадный, вызванный удалением родительской записи, или же "просто" грохнули одну строку детали... :'( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:40:34 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, в каскадировании нет никаких наворотов, все делается системным триггером AFTER DELETE на мастере. насчет твоего 0xFF - недавно (в трекере вроде) предлагалось ввести контекстную переменную CASCADING для этих целей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:46:50 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
dimitrТаблоид, в каскадировании нет никаких наворотов, все делается системным триггером AFTER DELETE на мастере. насчет твоего 0xFF - недавно (в трекере вроде) предлагалось ввести контекстную переменную CASCADING для этих целей.а почему нельзя запускать каскад системным триггером BEFORE delete на мастер-таблице ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:50:45 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Я лично бы был счастливее если бы у детейла при каскаде триггера вообще не срабатывали. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:50:54 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
и самое главное: можно ли как-то подправить консерваторию, чтобы мастер-строка была видна в триггерах на событие delete деталь-таблицы (но чтобы её нельзя было менять, разумеется) - ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:52:09 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Таблоидпочему нельзя запускать каскад системным триггером *BEFORE *delete на мастер-таблице ? Для защиты от идиотов, которые бы норовили вставить в детейл новую запись, ссылающуюся на удаляемого мастера. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:54:48 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТаблоидпочему нельзя запускать каскад системным триггером *BEFORE *delete на мастер-таблице ?Для защиты от идиотов, которые бы норовили вставить в детейл новую запись, ссылающуюся на удаляемого мастера.а, точно - ведь Влад же говорил про это... "в где-то"... не помню точно, может и тут. Мда, грустно всё... :'( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:58:56 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
dimitr> насчет твоего 0xFF - недавно (в трекере вроде) предлагалось dimitr> ввести контекстную переменную CASCADING для этих целей. Это чтобы свои флаги/переменные не задавать? И что решили? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 20:59:34 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov> Я лично бы был счастливее если бы у детейла Dimitry Sibiryakov> при каскаде триггера вообще не срабатывали. Да ты никак с дубу рухнул, Дим. Уж святое-то не трожь хотя бы... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 21:00:10 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЭто чтобы свои флаги/переменные не задавать? И что решили? пока ничего, просто приняли к сведению. Вот тут это было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 21:03:42 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамДа ты никак с дубу рухнул, Дим. Уж святое-то не трожь хотя бы... А что, в мускуле они не срабатывают, например. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 21:12:11 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Спасибо за ссылку. А Шон там молодец, конструктивен. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 21:12:14 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov> А что, в мускуле они не срабатывают, например. Возможно. Но не опускаться же на его уровень. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 21:12:45 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovА что, в мускуле они не срабатывают, например. они и тут на стандарт забили? Ай молодцы :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 21:19:16 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
dimitrони и тут на стандарт забили? А что, в стандарте есть триггера? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 21:31:17 |
|
||
|
Каскадное удаление: почему триггер таблицы-детали НЕ видит мастер-записи ?
|
|||
|---|---|---|---|
|
#18+
В общем, выкрутился через автономную транзакцию: при событии "deleting" считываю в ней значения из master-записи в переменные (ибо она еще видна там, запись эта). Через Жо как-то получилось... :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 21:32:44 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=101&tid=1563818]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 431ms |

| 0 / 0 |
