我有一个包含XML列的表。这一列存储了我为配置应用程序而保留的一些值。我创建它是为了拥有一个更灵活的模式。我找不到直接从SQL Management Studio中的表视图更新此列的方法。其他列(例如INT或Varchar )都是可编辑的。我知道我可以写一个UPDATE语句或者创建一些代码来更新它。但我正在寻找一种更灵活的方式,可以让高级用户直接编辑XML。
有什么想法吗?
再次重申:请不要回答我可以写应用程序。我知道这一点,这也正是我想要避免的。
发布于 2012-01-12 05:56:09
这是一个古老的问题,但我今天需要这样做。我能想到的最好的办法就是编写一个查询,生成可以在查询编辑器中编辑的SQL代码--这有点差劲,但它可以节省你复制/粘贴的东西。
注意:您可能需要进入Tools > Options > Query Results > Results to Text,并将显示的最大字符数设置为足以容纳您的XML字段。
例如:
select 'update [table name] set [xml field name] = ''' +
convert(varchar(max), [xml field name]) +
''' where [primary key name] = ' +
convert(varchar(max), [primary key name]) from [table name]
这将生成许多查询,如下所示(带有一些示例表/字段名):
update thetable set thedata = '<root><name>Bob</name></root>' where thekey = 1
然后将这些查询从“结果”窗口复制回“查询”窗口,编辑xml字符串,然后运行查询。
(编辑:将10更改为最大值以避免错误)
发布于 2010-08-13 14:04:24
sql server management studio缺少此功能。
我可以想象Homer扮演的微软项目经理用他的手掌猛击他的头:“讨厌!”
当然,我们希望编辑xml列。
发布于 2008-09-09 22:29:43
我最终编写了一个.net c# UI来处理xml数据。使用xsl进行显示和使用xml模式有助于很好地显示xml并保持其完整性。
编辑: c#还包含简化数据读/写的xmldocument类。
https://stackoverflow.com/questions/53026
复制相似问题