SQL 如何对数据库中相同名称的表中数据进行批量修改

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 如何对数据库中相同名称的表中数据进行批量修改相关的知识,希望对你有一定的参考价值。

数据库名称是:USERXJ012007~USERXJ402007
表的名称是:z_jzbz
列名称是:jjrq 注:(第一列)是日期型数据2007-7-1
第一列第一行数据由空或则日期 改为我所需要的日期
不同的数据库 批量 命令有吗? 谢谢了
我按照这个语句执行后update z_jzbz set jjrq=2007-7-1 where jjrq=2009-7-1 提示(所影响的行数为 0 行) 数据也没有修改 怎么回事 注:2007-7-1是原来的数据 2009-7-1是需要改成的数据
单独执行update z_jzbz set jjrq=2007-7-1时,数据变成了1905-6-23 请问是什么问题谢谢。

另外update a.jjrq = b.jjrq from USERXJ012007..z_jzbz a,USERXJ402007 ..z_jzbz b
where a.jjrq is null 看不明白这个语句

有命令改不同的数据库 ,方法是在数据库名称后歼加两个点再加表名
update a.jjrq = b.jjrq from USERXJ012007..z_jzbz a,USERXJ402007 ..z_jzbz b
where a.jjrq is null
**意思就是修改USERXJ012007库z_jzbz表的 jjrq字段=USERXJ402007库z_jzbz 表的jjrq字段
参考技术A update z_jzbz set jjrq=2009-7-1 where where jjrq=2007-7-1 参考技术B use master
go

DECLARE @Name varchar(500)
DECLARE test CURSOR FOR
select [name] from sys.databases where [name] like 'USERXJ%'
OPEN test
FETCH NEXT FROM test INTO @Name
WHILE @@FETCH_STATUS = 0
BEGIN
Exec('update '+@Name+'.dbo.z_jzbz set jjrq=''2009-7-1'' where jjrq=''2007-7-1''')
FETCH NEXT FROM test INTO @Name
END

CLOSE test
DEALLOCATE test
GO

以上是关于SQL 如何对数据库中相同名称的表中数据进行批量修改的主要内容,如果未能解决你的问题,请参考以下文章

DATA_CONSISTENCY_CHECK 在我的表中打开。但是临时表仍然插入另一行以进行相同的数据更新。如何在 T-SQL 中进行限制?

如何在 PL/SQL 代码的 for 循环中创建游标并将结果批量收集到表中

如何在 SQL 中的表中平均周期数据

怎么往mysql数据库的表中批量导入数据

如何使用 C#/SQL 批量更新 1000 条记录

在数据库的表中如何获取表中各项名称:编号.姓名.性别...