Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Возмозно удалить таблицу внутри транзакции?
|
|||
|---|---|---|---|
|
#18+
Ситуация следующая: нужно удалить данные из нескольких таблиц, а потом удалить одну из таблиц в MS-SQL. Хочется, что при ошибке при удалении таблицы можно было бы откатить транзакцию, чтобы данные тоже не удалились. Вот кусок кода на Delphi: \n try db.StartTransaction; //удаление записей из таблиц ... //удаление таблицы из БД ... if db.InTransaction then db.Commit; except if dbMeta.InTransaction then db.Rollback; end; Так вот, при попытке выполнения запроса типа "drop table test" происходит неявный Commit. Это можно как-нибудь обойти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 10:07 |
|
||
|
Возмозно удалить таблицу внутри транзакции?
|
|||
|---|---|---|---|
|
#18+
Не знаю, что там происходит в Delphi, но в T-SQL это работает корректно. create table test1(col1 int) create table test2(col2 int) begin tran insert into test1 values (1) insert into test2 values (2) drop table test2 rollback select * from test1 select * from test2 Оба select'а дают ноль строк. Если обнаружится, что это все-таки дельфовый глюк, то пишите stored proc и вперед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 10:54 |
|
||
|
Возмозно удалить таблицу внутри транзакции?
|
|||
|---|---|---|---|
|
#18+
Хех, а, может, дело в настройках каких? Может, чего в SQL Server выствыить надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 11:18 |
|
||
|
Возмозно удалить таблицу внутри транзакции?
|
|||
|---|---|---|---|
|
#18+
Простите, что вмешиваюсь, но я несовсем понял ответ GreenSunrise, т.к. был задан вопрос о возможности отката транзакции с сохранением данных, а вышеупомянутый ответ демонстрирует возвращение запросами SELECT нулевых строк ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 12:05 |
|
||
|
Возмозно удалить таблицу внутри транзакции?
|
|||
|---|---|---|---|
|
#18+
2 Andy: вопрос как раз был противоположный - удаление таблицы внутри транзакции по словам Aleksey Isaev приводит к _нежелательному_ commit'у - в моем примере должны были остаться данные в первой таблице. Но поскольку select возвращает 0 записей, значит, commit не происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 13:12 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32009521&tid=1826193]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 217ms |
| total: | 367ms |

| 0 / 0 |
