場景:學生表已有數據,新增 `IDCard` 列,需根據身份證信息表批量回填學生身份證號。
ALTER TABLE 學生表 ADD IDCard VARCHAR(18) NULL;
假設有臨時表或導入表 `身份證表(學生ID, 身份證號)`,以唯一標識(如學號/身份證號)關聯。
UPDATE 學生表
SET 學生表.IDCard = 身份證表.身份證號
FROM 學生表
INNER JOIN 身份證表 ON 學生表.學生ID = 身份證表.學生ID;
-- 檢查未更新行
SELECT * FROM 學生表 WHERE IDCard IS NULL;
-- 抽樣核對
SELECT 學生表.姓名, 學生表.IDCard, 身份證表.身份證號
FROM 學生表
JOIN 身份證表 ON 學生表.學生ID = 身份證表.學生ID
WHERE 學生表.IDCard <> 身份證表.身份證號;