当前位置:  开发笔记 > 数据库 > 正文

如何在SQL Management Studio中轻松编辑SQL XML列

如何解决《如何在SQLManagementStudio中轻松编辑SQLXML列》经验,为你挑选了2个好方法。

我有一个带有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 = 'Bob' where thekey = 1

然后,将这些查询从结果窗口复制回查询窗口,编辑xml字符串,然后运行查询.

(编辑:将10更改为最大以避免错误)



1> Jacob..:

这是一个老问题,但今天我需要这样做.我能想到的最好的方法是编写一个生成可以在查询编辑器中编辑的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 = 'Bob' where thekey = 1

然后,将这些查询从结果窗口复制回查询窗口,编辑xml字符串,然后运行查询.

(编辑:将10更改为最大以避免错误)



2> 小智..:

sql server management studio缺少此功能.

我可以看到Homer Simpson是微软项目经理用手掌敲打他的头:"Duh!"

当然,我们想要编辑xml列.


你的意思是"Doh!" ;)
推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有