|
|
|
Вопрос к гуру:)) Что и как надо возвращать из INSTEAD OF триггеров
|
|||
|---|---|---|---|
|
#18+
Исходное положение: MS SQL 2000/MFC/ODBCRecordset есть простая табличка и триггер INSTEAD OF UPDATE таблички. фрагмент триггера: ....... IF (not year(@docDate) = year(@lineDate)) or (not month(@docDate) = month(@lineDate)) BEGIN ROLLBACK TRANSACTION RAISERROR(50001,16,-1) END UPDATE documentpositions SET document = inserted.document, checktime = inserted.checktime, budgetaccount = inserted.budgetaccount, dictionaryIn = inserted.dictionaryIn, dictionaryOut = inserted.dictionaryOut, amountPlan = inserted.amountPlan, amountFact = inserted.amountFact, hint = inserted.hint FROM inserted ....... Проблема: update выполняется правильно если запускать в QA, update выполняется но потом летит исключение "Update or Delete failed" (именно так - безо всякихт там [Microsoft][ODBC SQL Server Driver] и проч...) Убираешь триггер - всё работает отлично. Дебаг показал, что надо чтобы статус у рекордсета был SQL_ROW_UPDATED, а он не такой :(( Кто может объяснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 15:10:22 |
|
||
|
Вопрос к гуру:)) Что и как надо возвращать из INSTEAD OF триггеров
|
|||
|---|---|---|---|
|
#18+
Update нужно завернуть в ELSE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 18:31:39 |
|
||
|
Вопрос к гуру:)) Что и как надо возвращать из INSTEAD OF триггеров
|
|||
|---|---|---|---|
|
#18+
А set nocount on стоит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 19:32:45 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3383&tid=1819043]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 386ms |

| 0 / 0 |
