sql >> データベース >  >> RDS >> Sqlserver

SQL Server XML が存在します()

    さて、あなたの XPath 式が「原因」です:

    query('//branch')  

    つまり:すべてを選択 <ブランチ> ドキュメント全体のノード。それはあなたが指示したことを実行しているだけです....

    このクエリの何が問題になっていますか??

    SELECT XMLData.query('/library/books/book[@type=sql:variable("@genre")]//branch')FROM dbo.TableA  

    それはすべての を取得します のサブノード type="SF" を持つノード 属性として....

    query() で何を達成しようとしていますか , exist() および value() すべて同じステートメントで??おそらく、もっと簡単にできるはずです....

    また:.exist() を誤解していると思います SQL Server では XQuery が行います。ここに声明がある場合:

     SELECT (いくつかの列) FROM dbo.TableA WHERE XMLData.exist('//book[@type =sql:variable("@genre")]') =1  

    基本的に、dbo.TableA からすべての行を取得するように SQL Server に指示しています。 XMLData に格納されている XML を含む ノード - テーブルから行を選択しています - NOT XMLData への選択の適用 コラムの内容...



    1. 5日より古いすべての行を削除する

    2. プールを埋めることができません(使用可能なバッファースペースがありません)

    3. 数まで数えるx--sql

    4. ORA-00979はgroupby式ではありません