数据库update语句 多数据库

数据库update语句 多数据库,第1张

一个数据库中的两个表

UPDATE A表 SET A表a=B表b FROM A表 INNER JOIN B表 ON A表id=B表id

还是两个库中的两个表

UPDATE A库dboA表 SET A库dboA表a= B库dboB表b FROM A库dboA表 INNER JOIN B表 ON A库dboA表id=B库dboB表id

ora-30036 UNDO表空间不足

解决:

加大UNDO表空间

alter database datafile ‘undoxxxdbf’ resize xxxM;

或设置为自动扩展

alter database datafile ‘undoxxxdbf’ autoextend on next 100M maxsize xxxM;

-----------------------------------------------------------------------------------------------------

执行下面的语句查看表空间及使用状况

SELECT UPPER(FTABLESPACE_NAME) "表空间名",

DTOT_GROOTTE_MB "表空间大小(M)",

DTOT_GROOTTE_MB - FTOTAL_BYTES "已使用空间(M)",

TO_CHAR(ROUND((DTOT_GROOTTE_MB - FTOTAL_BYTES) / DTOT_GROOTTE_MB 100,2),'99099') "使用比",

FTOTAL_BYTES "空闲空间(M)",

FMAX_BYTES "最大块(M)"

FROM (SELECT TABLESPACE_NAME,

ROUND(SUM(BYTES) / (1024 1024), 2) TOTAL_BYTES,

ROUND(MAX(BYTES) / (1024 1024), 2) MAX_BYTES

FROM SYSDBA_FREE_SPACE

GROUP BY TABLESPACE_NAME) F,

(SELECT DDTABLESPACE_NAME,

ROUND(SUM(DDBYTES) / (1024 1024), 2) TOT_GROOTTE_MB

FROM SYSDBA_DATA_FILES DD

GROUP BY DDTABLESPACE_NAME) D

WHERE DTABLESPACE_NAME = FTABLESPACE_NAME;

使用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);

mysql使用jdbc的批量插入需要在连接Mysql的地方加上rewriteBatchedStatements=true

,也就是springdatasourceurl = jdbc:mysql://1921681544:3306/ml_testuseSSL=false&useUnicode=true&characterEncoding=utf-8&rewriteBatchedStatements=true

,如果不加这个的话,和自己循环插入差不多

以上就是关于数据库update语句 多数据库全部的内容,包括:数据库update语句 多数据库、orcale数据库执行一个update语句,但数据量太大了(8000多万条),每条记录都要修改。、sql在update更新时如何快速且大批量的更新数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9709110.html

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

发表评论

登录后才能评论

评论列表(0条)

保存