2016-08-29 17 views
1

に私がxmlvarcharを変換していると私はそれを照会できるように、メモリテーブル内にそれを置くことが、私はエラーにエラーが「スカラー変数を宣言する必要があり、」T-SQL

を得続けます

これは私のコードである

スカラ変数宣言する必要があります:あなたは、テーブル変数を宣言し

Declare @templatexml table (CurrentTemplateXml XML Not Null) 

insert into @templatexml(CurrentTemplateXml) 
    select 
     convert(xml, convert(nvarchar(max), O.CurrentTemplateXml)) 
    From 
     BMObject O 


select * 
from 
    (select 
     T.C.value('@Name', 'nvarchar(max)') as name 
    from 
     @templatexml.nodes('(ObjectTemplate/Sections/Section)') as T(C) 
    ) as temp 

答えて

2

を3210が、xmlタイプの変数のように使用します。

select T.C.value('@Name', 'nvarchar(max)') as name 
from @templatexml.nodes('(ObjectTemplate/Sections/Section)') as T(C) 

の代わりに、あなたは

select T.C.value('@Name', 'nvarchar(max)') as name 
from @templatexml tx 
    cross apply tx.CurrentTemplateXml.nodes('(ObjectTemplate/Sections/Section)') as T(C) 
を使用したいと思われます
関連する問題