使用EXCEL拼接SQL语句

场景

在Oracle数据库中,只有Update和Insert权限,但没有Delete权限。然目前需要更新一批数据,可以想到几种方案:

  1. 根据惟一键值将相应的数据通过Update的方式更新为"脏数据",再使用Insert插入对应的数据;
  2. 将准备好的数据插入临时表,根据惟一键值进行Update;
  3. 根据惟一键值,对数据挨个Update。

实现

方案1和2其实都很容易就实现,方案3则稍微麻烦。

为实现方案3在Excel中整理好了一份数据,使用TEXTJOIN函数将数据拼接为可实现的update语句。

=TEXTJOIN("/", TRUE, "A2:H2")

="UPDATE TABLE SET COL1 = '" & TEXTJOIN("/", TRUE, "A2:H2") &"' WHERE ID = 'XXX' "

有些麻烦了,条件允许的话,还是使用临时表或者程序去帮你循环吧。

posted @ 2026-01-15 13:38  xiaojiahuo  阅读(0)  评论(0)    收藏  举报