Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 go & SQL Query Analyzer  [new]
не люлю MSSQL
Guest
/*	
	go 
*/

Server: Msg 113, Level 15, State 1, Line 2
Missing end comment mark '*/'.
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near '*'.
может кто-нибудь откомментировать?
24 ноя 05, 17:19    [2105443]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
Glory
Member

Откуда:
Сообщений: 104760
GO не есть команда TSQL.
Это принятый в утилитах MS разделитель бэтчей
24 ноя 05, 17:20    [2105454]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
не люлю MSSQL
Guest
Glory
GO не есть команда TSQL.
Это принятый в утилитах MS разделитель бэтчей

а как насчет комментариев? go - закоментировано!
24 ноя 05, 17:22    [2105465]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2791
А go имеет приоритет выше комментария. Он разделяет два пакета. В первом начался комментарий, но не закончился, во втором наоборот. А вот так работает:
--	
--	go
-- 
24 ноя 05, 17:26    [2105491]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
не люлю MSSQL
Glory
GO не есть команда TSQL.
Это принятый в утилитах MS разделитель бэтчей

а как насчет комментариев? go - закоментировано!


GO не есть команда TSQL.

ты напиши в своем оракле Select в одном файле, а from в другом и попытайся выполнить
24 ноя 05, 17:26    [2105492]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 34236
Блог
/*	
--	go 
*/
)
24 ноя 05, 17:29    [2105513]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
не люлю MSSQL
Guest
Prolog
А go имеет приоритет выше комментария.
[src]
согласитесь - это бред. Писать комментарии и думать о каких-то приоритетах... бред еще раз.

[quot Lepsik]
ты напиши в своем оракле Select в одном файле, а from в другом и попытайся выполнить

а зачем? это тоже бред... разделять скрипт (1 шт) по 2ум файлам (2 шт)

Может это просто глюк Аналайзера?
24 ноя 05, 17:38    [2105588]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
не люлю MSSQL
Guest
Prolog
А go имеет приоритет выше комментария.

согласитесь - это бред. Писать комментарии и думать о каких-то приоритетах... бред еще раз.

Lepsik

ты напиши в своем оракле Select в одном файле, а from в другом и попытайся выполнить

а зачем? это тоже бред... разделять скрипт (1 шт) по 2ум файлам (2 шт)

Может это просто глюк Аналайзера?
24 ноя 05, 17:39    [2105595]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
не люлю MSSQL
а зачем? это тоже бред... разделять скрипт (1 шт) по 2ум файлам (2 шт)
Может это просто глюк Аналайзера?


Хм... Как же Вам еще объяснить... GO, оно никогда на сервер не отправляется и служит разделитетем набора инструкций (бачей). Вот такой скрипт в QA:

SELECT * FROM sysobjects
/*
GO
*/
SELECT * FROM sysobjects

будет отправлен на сервер в виде двух команд, сначала:

SELECT * FROM sysobjects
/*

затем

*/
SELECT * FROM sysobjects

что и приведет к ошибке незавершенного коментария.
24 ноя 05, 17:42    [2105614]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
не люлю MSSQL
/*	
	go 
*/

Server: Msg 113, Level 15, State 1, Line 2
Missing end comment mark '*/'.
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near '*'.
может кто-нибудь откомментировать?

Кстати, из Management Studio этот код работает нормально.
24 ноя 05, 17:42    [2105616]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

не люлю MSSQL wrote:
> а зачем? это тоже бред... разделять скрипт (1 шт) по 2ум файлам (2 шт)
>
> Может это просто глюк Аналайзера?
во первых, GO, как уже сказали - это специяльное слово, которое ловять
утилиты вроде QA,iSql,oSql. Более того, они несколько по разному их
обрабатывают.
Во вторых, когда QA встречат строку, которая начинается с GO, то он
запускает батч, а то что после GO считает следующим батчем
select 1
      go select 2

вапросы?


--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

24 ноя 05, 17:43    [2105622]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2791
[quot не люлю MSSQLМожет это просто глюк Аналайзера?[/quot]Может быть оно и так.
24 ноя 05, 17:43    [2105629]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Гавриленко Сергей Алексеевич wrote:
> Кстати, из Management Studio этот код работает нормально.
и это не может радовать, однако....
Это значит, что клиент САМ парсит исходный текст.. проверено
профилером... На кой черт мне такое надо? чтобы текст парсился в 2-х
местах? я просил об этом? или кто-то просил?

--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

24 ноя 05, 17:49    [2105665]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
не люлю MSSQL
Guest
Предположим это не глюк, а "так надо". Зачем утилиты вроде QA, iSql, oSql лезут в комментарии? Насколько я понимаю комментарии сделаны не для утилит, а для разработчиков.
24 ноя 05, 17:56    [2105693]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

не люлю MSSQL wrote:
> Предположим это не глюк, а "так надо". Зачем утилиты вроде QA, iSql,
> oSql лезут в комментарии? Насколько я понимаю комментарии сделаны не для
> утилит, а для разработчиков.
дык в конструкциях языка, аднака, разбирается токо парсер. И хто там
комментарий, хто нет - утилите неведомо. Об этом токо сервер знает.

--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

24 ноя 05, 17:58    [2105705]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
locky

Гавриленко Сергей Алексеевич wrote:
> Кстати, из Management Studio этот код работает нормально.
и это не может радовать, однако....
Это значит, что клиент САМ парсит исходный текст.. проверено
профилером... На кой черт мне такое надо? чтобы текст парсился в 2-х
местах? я просил об этом? или кто-то просил?

--
-------------------------
There's no silver bullet!
Posted via ActualForum NNTP Server 1.3

Очень интересно было бы посмотреть, как бы Вы накатывали скрипт на изменение 50 ХП и/или вьюх, если бы не было возможности разделять батчи в одном файле.
24 ноя 05, 18:14    [2105794]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Гавриленко Сергей Алексеевич wrote:
> locky
>
> Гавриленко Сергей Алексеевич wrote:
> > Кстати, из Management Studio этот код работает нормально.
> и это не может радовать, однако....
> Это значит, что клиент САМ парсит исходный текст.. проверено
> профилером... На кой черт мне такое надо? чтобы текст парсился в 2-х
> местах? я просил об этом? или кто-то просил?
>
>
> Очень интересно было бы посмотреть, как бы Вы накатывали скрипт на
> изменение 50 ХП и/или вьюх, если бы не было возможности разделять батчи
> в одном файле.
я не о том!
Я не просил, чтобы клиент ПАРСИЛ МОИ СКРИПТЫ!!!
а студио - парсит. Видит, что GO стоит в комментарии, и благополучно его
не исполняет. Результат - вместо ошибки я имею один батч... скорее всего
с ошибкой.
Для меня вопрос пока что чисто академический. но вдруг я ошибусь вот
таким странным образом... хотя, наверное, один хрен деревяшка - шо со
старым поведением будет ошибка, что с новым... скорее всего будет....
хотя не факт, что с новым будет ошибка. Навскидку не придумаю, но мало ли...

--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

24 ноя 05, 18:21    [2105824]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
locky
я не о том!
Я не просил, чтобы клиент ПАРСИЛ МОИ СКРИПТЫ!!!
--
-------------------------
There's no silver bullet!
Posted via ActualForum NNTP Server 1.3

Вроде как очевидно, что без элементарного парсинга возможность разделения скрипта на батчи не осуществить.
автор
Видит, что GO стоит в комментарии, и благополучно его
не исполняет.

BOL гласит нечто следующее:
BOL
A Transact-SQL statement cannot occupy the same line as a GO command. However, the line can contain comments.
24 ноя 05, 18:37    [2105875]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Гавриленко Сергей Алексеевич wrote:
> locky
> Вроде как очевидно, что без элементарного парсинга возможность
> разделения скрипта на батчи не осуществить.
Подчеркиваю: элементарного! то бишь, если строка начинается с GO - флаг
ей в руки, начинается новый батч. стразу после GO.
>
> BOL гласит нечто следующее:
> BOL
> A Transact-SQL statement cannot occupy the same line as a GO command.
> However, the line can contain comments.
>
declare @var int
  go  /**/

declare @var int
  go  --
у меня говорит, мол, Line 2: Incorrect syntax near 'go'.
где тут "Может содержать комментарий"? Комментарий содержит. Но не кушает.
с этой точки зрения, если в строке только GO - то это разделитель батчей.
--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

24 ноя 05, 18:46    [2105910]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

locky wrote:
> select *1*
> go select *2*
>
пардон за некоректный пример. Синтаксически правильно, но не в тему.
Соответственно, " а то что после GO считает следующим батчем" - прошу
считать ложью и похабщиной.

--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

24 ноя 05, 18:48    [2105915]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
И снова GO
Guest
У меня вопрос про GO, не могу до конца понять.

Поясните если не трудно, в каких случаях в ХП нужно обязательно ставить оператор GO?

INSERT INTO table SELECT field1, field2 FROM table2
GO
UPDATE table SET field1='' WHERE field2='' 
Как может повлиять наличие или отсутствие GO в данном случае?
Если отсутствует GO, то может ли начаться UPDATE до полного завершения INSERT-а?
Если не трудно, приведите пример, который пояснял бы значение GO и выполнялся бы по разному в зависимости от наличия или отсутствия данного оператора.
5 апр 06, 18:01    [2528395]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Вы прочитали первый ответ Glory В этом треде? GO это не инструкция T-SQL, а разделитель бачей в клиентской утилите QA. Его нельзя использовать в теле хп! GO не изменяет порядок выполнения операторов, он только обрамляет пакет (бач), который передается на сервер как единое целое и выполняется последовательно.
5 апр 06, 18:04    [2528412]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Внутри процедуры GO вообще не может быть использован.
5 апр 06, 18:05    [2528415]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
И снова GO
Guest
Премного благодарен, а как на счет
И снова GO

Если не трудно, приведите пример, который пояснял бы значение GO и выполнялся бы по разному в зависимости от наличия или отсутствия данного оператора.
, если например, скрип выполняется в QA?
5 апр 06, 18:09    [2528433]     Ответить | Цитировать Сообщить модератору
 Re: go & SQL Query Analyzer  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
declare @i int
select @i = 1
Отрабатывает без ошибок.

declare @i int
go
select @i = 1
Возвращает ошибку
Msg 137, Level 15, State 1, Line 1
Must declare the scalar variable "@i".


Обратный пример:
create proc p1
as
	print ''
create proc p2
as
	print ''
Возвращает ошибку
Msg 156, Level 15, State 1, Procedure p1, Line 4
Incorrect syntax near the keyword 'proc'.

create proc p1
as
	print ''
go
create proc p2
as
	print ''
Выполняется без ошибок.
5 апр 06, 18:14    [2528451]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить