在SQL2005里如何批量修改所有数据表里某一字段值

我想修改供应商编码,但是数据库里有50多个表与供应商编码关联。问题补充:SELECTTABLE_NAMEFROMINFORMATION_SCHEMA.COLUMNSWHE... 我想修改供应商编码,但是数据库里有50多个表与供应商编码关联。
问题补充: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = c_gid 用网上的语句查出来了数据库里含有字段c_gid的所有表,但是我要把查出来的所有表字段c_gid对应的某个值,改为另一个数值。因为要50多个表,一个一个改太麻烦了。求高人指点啊。最好给个详细语句。QQ 157925826
展开
 我来答
ywwei_pzh
2013-03-31 · TA获得超过1215个赞
知道小有建树答主
回答量:824
采纳率:0%
帮助的人:519万
展开全部
写一个SQL脚本,把你用上面语名查到的所有表的表名作变量逐一赋给一个UPDATE语句,直到修改完成。。。。最好写入事务操作方式,如果任一操作不成功,将回滚所有修改。
更多追问追答
追问
可以具体些吗?我是菜鸟,因为修改不是只修改一次。
追答
主干语句:
update 表名 set (表名.)c_gid=(你想要的值) where c_gid=(以前的、你要查某个值)

表名就是你在 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = c_gid 中查出来的表的名称。以后你可以有二个方法:1、把上表的表名拷到一个文件中缓存下来,逐个手工拷贝、粘贴,再运行,这样做出错、出漏几率大些;2、如果你会写SQL脚本,把表名设成一个变量,做一个循环,把所有相关表的表名赋进主干语句,在循环体的前后启用事务(Transaction)操作,这样最安全。
如果你是菜鸟,用第一种方法吧,先测试好,做起来还是很快的,但仔细很关皱键,后面的方法等你熟练了以后再试。。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式