Кто-нибудь сумел создать CTE в T-SQL SQL Server, который также включает в себя объявление WITH XMLNAMESPACES
?
Кажется, что оба ключевых слова WITH
настаивают на том, чтобы быть "первыми в пакете T-SQL"", и это на самом деле не работает ....
Я пытался:
WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
WITH CTEQuery AS
(
SELECT (list of fields)
FROM dbo.MyTable
WHERE (conditions)
)
SELECT * FROM CTEQuery
Не работает :-( (ошибки синтаксиса)
Сообщение 156, уровень 15, состояние 1, строка 2
Неверный синтаксис рядом с ключевым словом «WITH».
Сообщение 319, уровень 15, состояние 1, строка 2
Неправильный синтаксис рядом с ключевым словом «with».Если этот оператор является общим табличным выражением, предложением xmlnamespaces или предложением контекста отслеживания изменений, предыдущий оператор должен заканчиваться точкой с запятой.
Поэтому я попытался добавить вторую WITH
с точкой с запятой:
WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
;WITH CTEQuery AS
(
SELECT (list of fields)
FROM dbo.MyTable
WHERE (conditions)
)
SELECT * FROM CTEQuery
и получил это:
Msg 102, Уровень 15, Состояние 1, Строка 2
Неверный синтаксис рядом с ';'.
и затем я попытался вставить WITH XMLNAMESPACES
в CTE:
WITH CTEQuery AS
(
WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
SELECT (list of fields)
FROM dbo.MyTable
WHERE (conditions)
)
SELECT * FROM CTEQuery
и получил это:
Msg 156, 15-й уровень, статe 1, строка 4
Неверный синтаксис рядом с ключевым словом «WITH».
Сообщение 319, Уровень 15, Состояние 1, строка 4
Неверный синтаксис рядом с ключевым словом «with».Если этот оператор является общим табличным выражением, предложением xmlnamespaces или предложением контекста отслеживания изменений, предыдущий оператор должен заканчиваться точкой с запятой.
Сообщение 102, Уровень 15, Состояние 1, Строка 21
Неверный синтаксис рядом с ') '.
Так какого черта я делаю это ??