使用EXCEL拼接SQL语句
场景
在Oracle数据库中,只有Update和Insert权限,但没有Delete权限。然目前需要更新一批数据,可以想到几种方案:
- 根据惟一键值将相应的数据通过Update的方式更新为"脏数据",再使用Insert插入对应的数据;
- 将准备好的数据插入临时表,根据惟一键值进行Update;
- 根据惟一键值,对数据挨个Update。
实现
方案1和2其实都很容易就实现,方案3则稍微麻烦。
为实现方案3在Excel中整理好了一份数据,使用TEXTJOIN函数将数据拼接为可实现的update语句。
=TEXTJOIN("/", TRUE, "A2:H2")
="UPDATE TABLE SET COL1 = '" & TEXTJOIN("/", TRUE, "A2:H2") &"' WHERE ID = 'XXX' "
有些麻烦了,条件允许的话,还是使用临时表或者程序去帮你循环吧。

浙公网安备 33010602011771号