由于 RedShift 中不支持用户定义的函数或存储过程,我如何UPSERT
在使用 ParAccel(PostgreSQL 8.0.2 fork)的 RedShift 中实现机制。
目前,我正在尝试使用 IF...THEN...ELSE... 语句来实现 UPSERT 机制,例如:-
IF NOT EXISTS(SELECT...WHERE(SELECT..))
THEN INSERT INTO tblABC() SELECT... FROM tblXYZ
ELSE UPDATE tblABC SET.,.,.,. FROM tblXYZ WHERE...
这给了我错误。因为我正在独立编写此代码,而不将其包含在函数或 SP 中。那么,是否有任何解决方案来实现 UPSERT。
谢谢