我想在Access中运行大约100.000行更新(参见模板下方)。
update Entries set GL = '345' where GL = '398965';
update Entries set GL = '546' where GL = '522954';
update Entries set GL = '576' where GL = '556395';
update Entries set GL = '963' where GL = '944485';
update Entries set GL = '334' where GL = '347563';
update Entries set GL = '997' where GL = '978964';
运行时脚本会出现以下错误消息。
在SQL语句结束后找到的字符。
微软官方对此问题的回答并没有那么有用:
在SQL语句中使用分号(;)后输入数据。例如,“SELECT * FROM table1; garbage”将生成此错误。要防止此错误,请删除分号(;)后面的任何字符。
如何解决此问题?
答案 0 :(得分:3)
创建一个具有旧值(OldValue)和新值(NewValue)的表(UpdateTable),然后通过join更新
Update T
set T.GL = X.NewValue
from Entries T
inner join UpdateTable X
on X.OldValue = T.GL
或在Access中:
UPDATE Entries
INNER JOIN (UpdateTable
ON Entries.GL = UpdateTable.OldValue)
SET Entries.GL = UpdateTable.NewValue