Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Общее табличное выражение  [new]
TataS
Member

Откуда:
Сообщений: 188
Можно ли использовать общее табличное выражение в хранимых процедурах?

Есть запрос :
WITH MyTable (s, n)
AS (
SELECT Sprav_id, NumLoad From SpravLoad
)
SELECT s,n,
(
Select S.Name FROM Sprav S Where S.Sprav_id = s
) As znak
FROM MyTable

Он отдельно работает, но если я его втавляю в хранимую процедуру, то выдается ошибка:

Msg 319, Level 15, State 1, Procedure Proba1, Line 34
Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.
Msg 102, Level 15, State 1, Procedure Proba1, Line 43
Incorrect syntax near 'MyTable'
28 сен 11, 14:57    [11348664]     Ответить | Цитировать Сообщить модератору
 Re: Общее табличное выражение  [new]
Glory
Member

Откуда:
Сообщений: 104751
Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.
28 сен 11, 14:59    [11348685]     Ответить | Цитировать Сообщить модератору
 Re: Общее табличное выражение  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
TataS,

поставте ;WITH
28 сен 11, 14:59    [11348686]     Ответить | Цитировать Сообщить модератору
 Re: Общее табличное выражение  [new]
TataS
Member

Откуда:
Сообщений: 188
Ken@t,

вопрос снят
28 сен 11, 15:05    [11348759]     Ответить | Цитировать Сообщить модератору
 Re: Общее табличное выражение  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
а еще конечно лучше приучать себя везде в конце запросов ставить ";" ибо:

Features Not Supported in a Future Version of SQL Server
Deprecated featureReplacement
Not ending Transact-SQL statements with a semicolon End Transact-SQL statements with a semicolon ( ; )
28 сен 11, 15:09    [11348797]     Ответить | Цитировать Сообщить модератору
 Re: Общее табличное выражение  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
SomewhereSomehow
а еще конечно лучше приучать себя везде в конце запросов ставить ";" ибо:

Features Not Supported in a Future Version of SQL Server
Deprecated featureReplacement
Not ending Transact-SQL statements with a semicolon End Transact-SQL statements with a semicolon ( ; )


Это с какой версии? А то у меня 2005.
В Oracle точка с запятой обязательная, а в MS SQL нет.
28 сен 11, 15:31    [11349020]     Ответить | Цитировать Сообщить модератору
 Re: Общее табличное выражение  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
trew,

В будущей :trollface:

Видимо, в какой-то следующей после 2011 Denali...
28 сен 11, 15:43    [11349161]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить