我有一个带有XML列的表.此列存储了我为配置应用程序而保留的一些值.我创建它以拥有更灵活的架构.我找不到直接从SQL Management Studio中的表视图更新此列的方法.其他(例如INT或Varchar)列是可编辑的.我知道我可以编写UPDATE语句或创建一些代码来更新它.但我正在寻找更灵活的东西,让高级用户直接编辑XML.
有任何想法吗?
再说一遍:请不要回答我可以写一个申请.我知道,这正是我想要避免的.
Jacob.. 34
这是一个老问题,但今天我需要这样做.我能想到的最好的方法是编写一个生成可以在查询编辑器中编辑的SQL代码的查询 - 它有点蹩脚,但它可以节省你复制/粘贴的东西.
注意:您可能需要进入工具>选项>查询结果>结果到文本,并将显示的最大字符数设置为足够大的数字以适合您的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 = '' where thekey = 1 Bob
然后,将这些查询从结果窗口复制回查询窗口,编辑xml字符串,然后运行查询.
(编辑:将10更改为最大以避免错误)
这是一个老问题,但今天我需要这样做.我能想到的最好的方法是编写一个生成可以在查询编辑器中编辑的SQL代码的查询 - 它有点蹩脚,但它可以节省你复制/粘贴的东西.
注意:您可能需要进入工具>选项>查询结果>结果到文本,并将显示的最大字符数设置为足够大的数字以适合您的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 = '' where thekey = 1 Bob
然后,将这些查询从结果窗口复制回查询窗口,编辑xml字符串,然后运行查询.
(编辑:将10更改为最大以避免错误)
sql server management studio缺少此功能.
我可以看到Homer Simpson是微软项目经理用手掌敲打他的头:"Duh!"
当然,我们想要编辑xml列.