Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server存储过程-表到XML对象_Sql Server_Xml_Stored Procedures - Fatal编程技术网

Sql server SQL Server存储过程-表到XML对象

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" .... ...

我需要编写一个存储过程,该过程可以从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" ....
    ...
    ...
  </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'