powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как совершить "безусловный" переход в блоке команд?
5 сообщений из 5, страница 1 из 1
Как совершить "безусловный" переход в блоке команд?
    #32033632
Vitaly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть серия операторов:

оператор1
go
оператор2
go
....
операторN
go

Требуется из, например, оператора2 по какому-либо условию (точнее в случае возникновения ошибки)
перескочить сразу за операторN.
Оператор goto здесь не поможет (т.к. есть go)

Как это можно сделать?
...
Рейтинг: 0 / 0
Как совершить "безусловный" переход в блоке команд?
    #32033637
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ubrat` GO i ispol`zovat` GOTO
...
Рейтинг: 0 / 0
Как совершить "безусловный" переход в блоке команд?
    #32033639
Vitaly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы с радостью убрал - да вот нельзя...

Например, встречаются такие скрипты:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
if exists (select * from sysobjects where id = object_id(N'[p1]') and OBJECTPROPERTY(id, N'IsProcedure') =  1 )
drop procedure p1
GO
create procedure p1
as
begin
	Print 'p1'
end
GO

Если здесь убрать Go то сервер выдаст такую вот "ошибку":
Код: plaintext
1.
2.
Server: Msg  111 , Level  15 , State  1 , Line  3 
'CREATE PROCEDURE' must be the first statement in a query batch.

Тоже самое касается создания или обновления view и др.

Может есть какое-нибудь другое решение???
...
Рейтинг: 0 / 0
Как совершить "безусловный" переход в блоке команд?
    #32033642
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Poprobuyte dinamicheskiye zaprosi.
Naprimer:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
if exists (select * from sysobjects where id = object_id(N'[p1]') and OBJECTPROPERTY(id, N'IsProcedure') =  1 )

exec sp_sqlexec 'drop procedure p1'

exec sp_sqlexec 'create procedure p1 as
begin
	Print ''p1''
end'


...
Рейтинг: 0 / 0
Как совершить "безусловный" переход в блоке команд?
    #32033649
Vitaly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошая идея.
Сейчас попробую.

Заранее спасибо.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как совершить "безусловный" переход в блоке команд?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]