XML データ内部のリレーショナル データのバインド
xml データ型の変数または列には、XML データ型のメソッドを指定できます。たとえば、query() メソッド (XML データ型) では、XML インスタンスに対して指定した XQuery が実行されます。この方法で XML を構築するときに、XML 以外の型の列の値や Transact-SQL 変数を使用することもできます。この処理を、XML 内部のリレーショナル データのバインドと呼びます。
XML 内部の XML 以外のリレーショナル データをバインドするために、SQL Server データベース エンジンには次の擬似関数が用意されています。
XML 内部でリレーショナル値を公開するときは、常に、xml データ型のメソッドと上記の関数を併用できます。
xml 型の列や変数、CLR ユーザー定義型、datetime、smalldatetime、text、ntext、sql_variant、および image の各型のデータを参照する場合は、これらの関数は使用できません。
また、このバインドは読み取り専用です。つまり、これらの関数を使用する列には、データを書き込めません。たとえば、sql:variable("@x")="some expression" は使用できません。