我有一个带有XML列的表。该列存储一些我保留用于配置应用程序的值。我创建它的目的是拥有更灵活的架构。我找不到直接从SQL Management Studio中的表视图更新此列的方法。其他(例如INT或Varchar)列是可编辑的。我知道我可以编写UPDATE语句或创建一些代码来对其进行更新。但是我正在寻找更灵活的方法,使高级用户可以直接编辑XML。
有任何想法吗?
再次重申:请不要回答我可以编写一个应用程序。我知道,而这正是我要避免的事情。
这是一个老问题,但是我今天需要这样做。我能想到的最好的办法是编写一个查询,该查询生成可以在查询编辑器中编辑的SQL代码- 有点la脚,但可以节省复制/粘贴的内容。
注意:您可能需要进入“工具”>“选项”>“查询结果”>“结果为文本”,并将显示的最大字符数设置为足够大的数字以适合您的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以避免错误)