WITH XMLNAMESPACES
SQL ServerのT-SQLで、宣言も含むCTEを作成できた人はいますか?
どちらの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節、または変更追跡コンテキスト節である場合、前のステートメントはセミコロンで終了する必要があります。
そこで、2番目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
そしてこれを手に入れました:
メッセージ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
そしてこれを手に入れました:
メッセージ156、レベル15、状態1、行4
キーワード「WITH」の近くの構文が正しくありません。
メッセージ319、レベル15、状態1、行4
キーワード「with」の近くの構文が正しくありません。このステートメントが共通テーブル式、xmlnamespaces節、または変更追跡コンテキスト節である場合、前のステートメントはセミコロンで終了する必要があります。
メッセージ102、レベル15、状態1、行21
')'の近くの構文が正しくありません。
それで、私はこれをどのように行うのですか?