Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Почему не работает exec для where  [new]
Student2004
Guest
exec('select top 1 * from sysobjects go select 1')
работает

exec('select top 1 * from sysobjects where 1 = 1 go select 1')
не работает

Версия - Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
23 авг 04, 17:28    [902100]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает exec для where  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Student2004
exec('select top 1 * from sysobjects go select 1')
работает

exec('select top 1 * from sysobjects where 1 = 1 go select 1')
не работает

Версия - Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 4)

Потому что у сиквела нету оператора 'go'. Это просто разделитель батчей клиентской утилиты QA.
23 авг 04, 17:31    [902107]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает exec для where  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Гавриленко Сергей Алексеевич
Student2004
exec('select top 1 * from sysobjects go select 1')
работает

exec('select top 1 * from sysobjects where 1 = 1 go select 1')
не работает

Версия - Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 4)

Потому что у сиквела нету оператора 'go'. Это просто разделитель батчей клиентской утилиты QA.

Сорри - наврал. :(
23 авг 04, 17:35    [902118]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает exec для where  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
автор
Почему не работает exec для where

Это, кстати, не для where не работает, а для go. Почемк - действительно не ясно.
23 авг 04, 17:41    [902140]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает exec для where  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
автор
Потому что у сиквела нету оператора 'go'. Это просто разделитель батчей клиентской утилиты QA.

Не наврал. просто не в тему ответил. BOL:
GO is not a Transact-SQL statement; it is a command recognized by the osql and isql utilities and SQL Query Analyzer.
23 авг 04, 17:45    [902151]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает exec для where  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
exec('select top 1 * from sysobjects go select 1')
go - это выходит альяс для sysobjects
23 авг 04, 17:58    [902180]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает exec для where  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
locky
exec('select top 1 * from sysobjects go select 1')
go - это выходит альяс для sysobjects

Точно. :)
23 авг 04, 18:00    [902184]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает exec для where  [new]
pima
Member

Откуда: Москва
Сообщений: 496
Вообще, запихивать go в динамический sql - unreal. Пробовала как-то, сложилась ситуация - надо было до зарезу (обработка ошибок). Но - увы.
23 авг 04, 19:48    [902380]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает exec для where  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1873
так что студент пиши просто без посыланий на... :)
  exec('select top 1 * from sysobjects where 1 = 1 select 1')
24 авг 04, 05:56    [902609]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить