Sql server SQL Server存储过程-表到XML对象
我需要编写一个存储过程,该过程可以从SQL Server表中的值创建以下输出:Sql server SQL Server存储过程-表到XML对象,sql-server,xml,stored-procedures,Sql Server,Xml,Stored Procedures,我需要编写一个存储过程,该过程可以从SQL Server表中的值创建以下输出: <object> <ValueList> <Value value="1" text="Name" enabled="1" alias="Alias" /> <Value value="2" text="Name" enabled="1" alias="Alias" /> <Value value="3" .... ...
<object>
<ValueList>
<Value value="1" text="Name" enabled="1" alias="Alias" />
<Value value="2" text="Name" enabled="1" alias="Alias" />
<Value value="3" ....
...
...
</ValueList>
</object>
然后我得到了以下结果
<object>
<value text="Midler tidig havn" />
<value text="Færgehavnsvej" />
<value text="Sydhavnsvej" />
<value text="Ø-Pladsen" />
<value text="Havnepladsen" />
</object>
对于增量值,可以使用行编号() 示例
Select (
Select [value] = row_number() over (Order by (select null))
,[text] = txt
,[enabled] = 1
,[alias] = 'Alias'
From lit_geography
For XML Raw('Value'),type
)
For XML Path('ValueList'),Root('object')
返回
<object>
<ValueList>
<Value value="1" text="Midler tidig havn" enabled="1" alias="Alias" />
<Value value="2" text="Færgehavnsvej" enabled="1" alias="Alias" />
<Value value="3" text="Sydhavnsvej" enabled="1" alias="Alias" />
<Value value="4" text="Ø-Pladsen" enabled="1" alias="Alias" />
<Value value="5" text="Havnepladsen" enabled="1" alias="Alias" />
</ValueList>
</object>
您试图从中提取数据的SQL表的结构和内容是什么?Works 100%John-非常感谢-最后要做的是将上述对象添加到变量中,并再次将其更新到表中。。这是正确的方法吗?@JohnnyKureJakobsen很乐意帮忙。我不太明白你最后的评论。您可以将XML存储到一个变量,然后更新一个表,或者只更新该表。。。在您的结构上不清楚我得到了一个名为lit_formfield(Label,Values)的表,需要使用上述对象更新行中的Values字段,其中Label等于“listbox”@JohnnyKureJakobsen请参见更新
Select (
Select [value] = row_number() over (Order by (select null))
,[text] = txt
,[enabled] = 1
,[alias] = 'Alias'
From lit_geography
For XML Raw('Value'),type
)
For XML Path('ValueList'),Root('object')
<object>
<ValueList>
<Value value="1" text="Midler tidig havn" enabled="1" alias="Alias" />
<Value value="2" text="Færgehavnsvej" enabled="1" alias="Alias" />
<Value value="3" text="Sydhavnsvej" enabled="1" alias="Alias" />
<Value value="4" text="Ø-Pladsen" enabled="1" alias="Alias" />
<Value value="5" text="Havnepladsen" enabled="1" alias="Alias" />
</ValueList>
</object>
Update lit_formfield set [Values] = (
Select (
Select [value] = row_number() over (Order by (select null))
,[text] = txt
,[enabled] = 1
,[alias] = 'Alias'
From lit_geography
For XML Raw('Value'),type
)
For XML Path('ValueList'),Root('object')
)
Where Label = 'listbox'