Удалось ли кому-нибудь создать 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'.
{{1 }} Сообщение 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, Level 15, State 1, Line 2
Неправильный синтаксис рядом с ';'.
, а затем Я знаю d поместив 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
и получил следующее:
Сообщение 156, уровень 15, состояние 1, строка 4
Неправильный синтаксис рядом с ключевым словом { {1}} "С".
Сообщение 319, уровень 15, состояние 1, строка 4
Неправильный синтаксис рядом с ключевым словом "with". Если этот оператор является общим табличным выражением , предложением xmlnamespaces или предложением контекста отслеживания изменения , предыдущий оператор должен завершаться выражением {{1 }} точка с запятой.
Сообщение 102, уровень 15, состояние 1, строка 21
Неправильный синтаксис рядом с ')'.
Так как же мне это сделать ??