sqlserver中如何批量修改一个表的数据

Posted

tags:

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

如果想把"SQL"表的前缀"ABC_"改为"DEF"

先用SQL语句查询所有"ABC_"前缀的表

select * from sysobjects where xtype=\'u\' and name like \'ABC_%\'

然后用修改语句
参考技术A 没有看明白题目的意思哦! 参考技术B Update

请问SQL如何实现批量查询

SQL server数据库,有一个工资表,有20万条记录,字段如下:
身份证号 工资

现在本地客户端access的表里面有1000个身份证号,要输出其对应sql server上的工资。
谢谢!
谢谢各位!

具体问题是:
客户端程序的数据库为Access,
有多人同时使用客户端程序,如果在Sql上建立临时表的办法,
是不是各个客户端建立的临时表不能重名,而且执行完毕还要删除各自建立的临时表?

谢谢!

好像解决办法有点愚蠢,但是确实可以这么用
先把那1000多个号码导出成文本
然后在sqlserver里建一张表
create table shenfenzheng (shengfenzheng_id varchar(18));

然后把导出的文本用UE编辑成
insert into shenfenzheng values (\'xxxxxxxxxxxxxxxxxx\');
insert into shenfenzheng values (\'yyyyyyyyyyyyyyyyyy\');
.
.
.
共1000条
然后在sqlserver里执行上述语句,记得后边一定要带分号

然后写个查询
select * from 工资表 where 身份证号 in(select shenfenzheng_id from shenfenzheng);
得到的就是你想要的结果
---------补充---------
你所说的用户是指客户端程序的用户,和数据库用户关系应该不大,各个客户端应该在程序里都有连接数据库的文件,也就是实际操作的用户连接数据库时用的都是数据库同一个用户,所以不用在每个用户下都建临时表
参考技术A 很简单,直接在工资表所在的数据库里导入access的身份证号表,然后联合查询就可以了。

联合查询语句如下:
select A.身份证号,B.工资 from 工资表 A left join 工资表 B on A.身份证号=B.身份证号

如果你不会把access导入SQL server可以给我留言或网上查询资料。
参考技术B 这个可以通过编程连接数据库来解决。
第一个外循环,将身份证号不断从access中导入,第二个内循环,将其带入SQL Server数据库验证,相同就输出。
可以使用ADO.NET实现。
参考技术C 如果安全性要求不高的话,把苦客户端的省份证号传入SQL,直接在ACCESS里用参数查询.查询语句为.SELECT * FROM * WHERE IN (*),,可以试试 参考技术D 临时表不用删除吧,我在重启sql server时,临时表#temp 就消失了呀

以上是关于sqlserver中如何批量修改一个表的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用sql批量生成不重复的有规则数据?

如何批量修改mysql数据库表的字段类型

批量mysql修改表前缀

sqlserver批量规律修改字段值

sqlserver 关联表批量更新多行

如何在oracle数据库中的表里批量插入记录