【发布时间】:2012-07-28 17:02:41
【问题描述】:
这是我的函数声明和正文的一部分:
CREATE OR REPLACE FUNCTION access_update()
RETURNS void AS $$
DECLARE team_ids bigint[];
BEGIN
SELECT INTO team_ids "team_id" FROM "tmp_team_list";
UPDATE "team_prsnl"
SET "updt_dt_tm" = NOW(), "last_access_dt_tm" = NOW()
WHERE "team_id" IN team_ids;
END; $$ LANGUAGE plpgsql;
我希望 team_ids 成为一个整数数组,然后我可以在 UPDATE 语句中使用它。这个函数给我这样的错误:
psql:functions.sql:62: ERROR: syntax error at or near "team_ids"
LINE 13: AND "team_id" IN team_ids;
【问题讨论】:
-
我认为您的选择顺序有误。那不应该是:
SELECT team_id INTO team_ids FROM tmp_team_list;
标签: sql postgresql plpgsql postgresql-9.1