我需要更新 PostgresQL 数据库表中的一些值。
我想更新该stage
列,其中stage
“已接受”并且该列workspace
在数组中有一个值。
我正在尝试将特定工作区的 ID 选择到一个数组中,我可以在更新语句中使用它。
我尝试过不同的东西,这就是我目前所拥有的。
DO $$
DECLARE external_app_workspaces INTEGER[];
BEGIN
SELECT ARRAY(
SELECT id
FROM workspace w
WHERE w."isUsingExternalApp" = true
)
INTO external_app_workspaces;
UPDATE task t
SET "stage" = 'Licence Issued'
WHERE "stage" = 'Accepted'
AND t.workspace IN external_app_workspaces;
END $$;
运行这个给我错误:
Error occurred during SQL query execution
Reason:
SQL Error [42601]: ERROR: syntax error at or near "external_app_workspaces"
Position: 292
我究竟做错了什么?