Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Какой командой прервать выполнение пакетов запросов?  [new]
Боря дровосек
Guest
Здравствуйте, знатоки! Подскажите, какую команду надо прописать вместо return, чтобы при выполнении условия 1 = 1 прекратить выполнение дальнейших пакетов команд? В данном примере нужно, чтобы дело не дошло до запуска select 1.
if 1 = 1
  return
go

select 1
17 дек 14, 12:16    [17009826]     Ответить | Цитировать Сообщить модератору
 Re: Какой командой прервать выполнение пакетов запросов?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
https://www.sql.ru/forum/afsearch.aspx?s=???????? ?????????? ??????&submit=?????&bid=1
17 дек 14, 12:22    [17009882]     Ответить | Цитировать Сообщить модератору
 Re: Какой командой прервать выполнение пакетов запросов?  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
if 1 = 1
  set noexec on
go

select 1
17 дек 14, 12:26    [17009916]     Ответить | Цитировать Сообщить модератору
 Re: Какой командой прервать выполнение пакетов запросов?  [new]
Боря дровосек
Guest
Спасибо, друзья! Воспользовался ответом Сергея Алексеевича. И вот что получилось:

declare @dbname nvarchar(128)
select @dbname = DB_NAME()
if @dbname = 'master'
begin
  print 'Выбрана база master. Обновление прервано. Смените целевую базу.'
  raiserror ('Выбрана база master. Обновление прервано. Смените целевую базу.', 20, -1) with log
end
else
  print 'Обновляется база ' + @dbname
go
17 дек 14, 13:37    [17010481]     Ответить | Цитировать Сообщить модератору
 Re: Какой командой прервать выполнение пакетов запросов?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Только имейте ввиду, что если во время выполнения не хватит прав на raiserror with log, то прерывания скрипта не произойдет.
17 дек 14, 13:48    [17010535]     Ответить | Цитировать Сообщить модератору
 Re: Какой командой прервать выполнение пакетов запросов?  [new]
Боря дровосек
Guest
Гавриленко Сергей Алексеевич, да я в курсе. Вроде, всегда от sa запускаем, так что пока такого кода достаточно.
17 дек 14, 13:59    [17010619]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить