Sql数据批量更新语句

254 阅读1分钟

背景

对一张数据表进行批量更新数据,可采用如下sql语句:

-- e_user_inout_log
UPDATE e_user_inout_log T
SET T .LOGIN_NAME = (
	SELECT
		U .LOGIN_NAME
	FROM
		SYS_USER U
	WHERE
		U .PHONENUMBER = T .LOGIN_NAME
)
WHERE
	EXISTS (
		SELECT
			1
		FROM
			SYS_USER U
		WHERE
			U .PHONENUMBER = T .LOGIN_NAME
	)

-- E_USER_INOUT_EVENT
UPDATE E_USER_INOUT_EVENT T
SET T .LOGIN_NAME = (
	SELECT
		U .LOGIN_NAME
	FROM
		SYS_USER U
	WHERE
		U .PHONENUMBER = T .LOGIN_NAME
)
WHERE
	EXISTS (
		SELECT
			1
		FROM
			SYS_USER U
		WHERE
			U .PHONENUMBER = T .LOGIN_NAME
	)