我目前正在运行2个表格:一个是活动的,另一个是第一个表格。以上代码使用登台表作为源更新活动表中的值。它只更新列“firstname”中的值,如果stage表中的行已经存在于实时表和其他一些简单条件中。Postgresql更新声明
Update LiveTable
SET LiveTable.firstname = TestTable.firstname
FROM TestTable
WHERE EXISTS (SELECT 1 FROM LiveTable WHERE LiveTable.userid = TestTable.userid)
AND TestTable.firstname IS NOT NULL
AND LEN(TestTable.firstname) > len(LiveTable.firstname);
上面的代码喷射工作完成,但需要相当一段时间。我想知道是否有更快的方法来做到这一点。
我试图创建FUNCTION做同样的事情,但无法让它工作。
试试'where livetable.userid = testtable.userid'而不是'where exists exists(...)' –