![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MsSQL + SQL Query Analyzer, глупый вопрос по управлению транзакци
Ihor Osov'yak © (2003-01-14 22:40:00)Сорри за сабж, но тут, как говорится, провел всю сознадельную жизнь с IB, и как то не катит вьехать в дружественный ms интерфейс...
А теперь вопрос по существу - как собственно в этом енелайзере транзакциями управлять? Типа выполнил запрос, посмотрел результат - а потом ролбек за ненадобностью вносить изменения...
ЗЫ - или я на старости такой тугодум стал, или там действительно уж очень специфический юзверовский интерфейс ...
mtihonov (2003-01-16 05:16:00) [1]Все очень просто!
Пишешь в окне редактора весь текст типа
begin trans...
update ...
select ...
commit ...
rollback ...
потом выделяешь нужный кусок мышкою, например
begin trans...
update ...
select ...
и жмешь F5 - выполнился только выделенный кусок
затем выделяешь
commit ...
или
rollback ...
и опять жмешь F5
и все - телемаркет
sniknik (2003-01-15 12:52:00) [2]ну если дело только в кнопочках, сляпай себе програмку тестовую и повесь на кнопки транзакции.
я себе сделал правда по другому поводу но всеже, можеш и ее переделать в кладовке лежит TestMdb называется, останется только кнопки прилепить. но тогда кнопки жать осторожно! :о))
Ihor Osov'yak (2003-01-15 12:41:00) [3]2 sniknik © (15.01.03 12:26)
Придется так. Может даже лучше. Кнопочка случайно не нажмется :-).
Спасибо за внимание.
sniknik (2003-01-15 12:26:00) [4]ну да не поняли друг друга, но то что я писал поджодит 100%
запустил Query Analizer
выполнил команду BEGIN TRANSACTION
дальше действия, изменения, смотриш таблици, запросами
только вставляй WITH (NOLOCK), транзакция может быть блокирующей.
так
SELECT * FROM Products WITH (NOLOCK)
можно и в другом окошке
в конце там же в Query Analizer
команду ROLLBACK TRANSACTION и все откатится
не то?
Ihor Osov'yak (2003-01-15 12:19:00) [5]2 Дима2003 (15.01.03 12:07)
Это уже ближе. Спасибо. Но я все же хотел управлять транзакциями для тех sql, которые запускаю интерактивно. То есть через через кнопку Run(F5) для окна запросов (того, что через File/Connect)
Дима2003 (2003-01-15 12:07:00) [6]>Ihor Osov"yak
в Query Analazer кликаешь правой кнопкой по Stored Procedure. В менюшке внизу - DEBUG. Там тебе и Step into и Step over и Auto rollback
Ihor Osov'yak (2003-01-15 11:59:00) [7]2 sniknik © (15.01.03 08:39)
Или я не понятно излагаю, или что...
Интерактивно мне надо. Мышкой и клавишами в стандартном утиле от MS. Для отладки. Начал транзакцию. Выполнил запрос. Посмотрел в другом окошке результат. И откатил транзакцию. Для отладки сие дело нужно. А не в коде своем. В коде как-раз проблем и нету.
sniknik (2003-01-15 08:39:00) [8]почему не написать?
и именно на SQL, в ADO есть встроенные методы транзакций но по моему мнению глючные, пользуюсь SQL
чего стоит написать
ADOCommand.CommandText:= "BEGIN TRANSACTION";
ADOCommand.Execute;
все посланное после будет в транзакции, сделаеш ROLLBACK TRANSACTION откатится.
только опять по моему мнению так лутше не делать, ну типа открыть а после чегото делать может чай пойти попить, а после по кнопочке записать. нет, надо подготавливать изменения после открываеш записываеш по результату сохраняеш или откатываеш, можно все в одном SQL пакете, даже лутше наверно так. но это наверное кому как.
Ihor Osov'yak (2003-01-15 00:56:00) [9]Да нет, как это на их T-SQL это понятно. И зачем оно тоже :-).
Мне бы по кнопочкам, как в старом добром SQL Explorer борландовском... Когда какой-то очередной SQL отлаживать... Особенно на insert или delete.. Удобно тогда кнопочкой откат делать, после просмотра результатов.. Ну не писать же свою утиль..
sniknik (2003-01-15 00:42:00) [10]http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1042560379&n=1
от себя, посмотри в "Books Online" по ключевым словам BEGIN TRANSACTION и тд. по ссылкам внизу.