Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
откат sqlexec
|
|||
|---|---|---|---|
|
#18+
Есть последовательность sqlexec: SqlExec(handle, "CREATE TABLE TMPPOW1(idob char(10) NOT NULL, ...") UpdateCommand = "CREATE PROCEDURE UpdatePow AS UPDATE ARHPOW SET MPOWER =TMPPOW1.MPOWER, RPOWER =TMPPOW1.RPOWER WHERE ..." SqlExec(handle, UpdateCommand) SqlExec(handle, "CREATE INDEX IX_ARHPOW ON ARHPOW(m_gr, m_adr)") SqlExec(handle, "CREATE INDEX IX_ARHPOW1 ON ARHPOW(idob)") SqlExec(handle, "CREATE INDEX IX_TMPPOW1 ON TMPPOW1(m_gr, m_adr)") SqlExec(handle, " ALTER TABLE METERS ADD DEEP char(10) NULL ") и т.п. В случае ошибки в любом из sqlexec(), т.е. return value<=0 необходимо отменить все предыдущие exec'и Как это сделать? Не писать же для каждого sqlexec'а аналогичный sqlexec с противоположными действиями? Может как-то можно все sqlexec'и объединить в один? Только учтите их примерно 30-50. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2003, 00:52 |
|
||
|
откат sqlexec
|
|||
|---|---|---|---|
|
#18+
Посмотри команды: Begin Transaction End Transaction SQLCommit( ) SQLRollBack( ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2003, 08:59 |
|
||
|
откат sqlexec
|
|||
|---|---|---|---|
|
#18+
Код выглядит примерно так (из работающей программы): ... (соединение) SQLSETPROP(nHandle, 'Transactions', 2) SQLExec(nHandle, "BEGIN TRANSACTION Lock ") ... (операции данной транзакции) SQLExec(nHandle, "COMMIT TRANSACTION Lock ") Жирным выделено имя транзакции. Почему использованы именованные транзакции. Потому что путем экспериментов я установил, что если использовать неименованные транзакции то происходит следующее: - если программу выключить с помощью Reset, то все в порядке, транзакция откатывается; - если программу прервать QUIT (а мой обработчик ошибок как правило так и поступает), то транзакция неявным способом подтверждается, хотя стоят ручные транзакции Все это проверено целой серией экспериментов, хотя возможно я не использовал какие-то еще настройки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2003, 09:26 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32336272&tid=1597505]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
135ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 312ms |
| total: | 560ms |

| 0 / 0 |
