sql在update更新时如何快速且大批量的更新数据

sql在update更新时如何快速且大批量的更新数据,第1张

使用merge语句
语法:
MERGE INTO 目标表 AS A
USING 源表 AS B
ON (ACOL = BCOL) --匹配条件
WHEN MATCHED THEN --当匹配上就用B表的字段更新A表的字段
UPDATE SET
ACOL1 = BCOL1,

ACOLn = BCOLn
WHEN NOT MATCHED THEN INSERT(ACOL1,,ACOLn) --下面这句是不匹配就插入数据
VALUES (BCOL1,,BCOLn);

我用oracle的语句格式来写:
update table0
set nearcells = (select nearcells from datatable where lac=table0lac and cellid=table0cellid )
where exists (select 1 from datatale where lac=table0lac and cellid=table0cellid )

可以,下面的代码可以批量更新access数据库表
SQL = "INSERT INTO [数据库表名] SELECT FROM [Excel 80;DATABASE=" & _
ThisWorkbookFullName & ";HDR=YES;IMEX=1][Sheet1$];"

update 表名 set value=case when id=1 then 一个值
                           when id=2 then 一个值 
                            when id=3 then 一个值 else value 
                                             end

上边就是举个例子,意思是,当id=1时,把value设定个值,当id=2时,value设定另一个值,依次类推,不需要更改的保留原来的value值,最后以end结尾

更新查询,查询语句:
update 表1 set 表1a=表2a,表1b=表2b,表1d=表2d
from 表1,表2 where 表1c=表2c

祝你成功!

如果每个用户请求更改一行,那他就只能该一行就更新,这个逻辑没有错。
如果你要让他不是及时更新,可以做成队列。
SQL语句更新的速度可能是比存储过程慢一些,但是一个区区30万的小数据,对于SQL
SERVER数据库来说根本就是小菜。
换句话说,别说SQL
SERVER了,就是MYSQL这种小型数据库,对付百万级的数据都是很轻松的。。。

--
如果楼主担心性能,可以在表中建立ID唯一约束,避免错误;然后在此添加此ID的索引,提高性能。不会那么夸张的。才几千条数据。
--
不会的。
这种 *** 作各种软件中都会有。
我做的项目几乎都是通过程序处理的,而非存储过程。
我用自己的机器开发,5万条左右是没有问题的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12943760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存