和我有這樣一行代碼的東西:PL/pgSQL裏:選擇在不工作
FOR r_var in
select distinct value as val, count(*) as count from table where value IN (input) GROUP BY value;
LOOP
--do something here
END LOOP;
輸入是從用戶即$$'A123','B456','C789'$$
我不知道爲什麼它不起作用,但如果我手動將值而不是使用輸入,它正在工作。
更新:
我發現問題在哪裏。
代碼必須是:
FOR r_var in
EXECUTE 'select distinct value as val, count(*) as count from table where value IN ('||input||') GROUP BY value;
LOOP
--do something here
END LOOP;
是否將SQL語句中包含的$$發送到dbms?列值具有哪種數據類型? (不是保留字?!?即需要分隔...) – jarlh 2015-03-03 08:44:26
由於輸入(即'A123','B456','C789'),我使用$$。輸入必須是一個字符變化。 – newbie03 2015-03-03 08:47:44
你不能要求幫助,同時也不能保留實際的功能定義。這不是建設性的。函數頭是這個問題的關鍵。就像你的Postgres版本一樣。 – 2015-03-03 18:45:04