我试图在postgres中使用IF ElSE根据条件选择查询。下面是我的问题。
DO
$do$
DECLARE res varchar(50) := 'a';
BEGIN
IF (res = 'a') THEN
SELECT "Name" FROM "TestTable";
ELSE
SELECT "ID" FROM "TestTable";
END IF;
END
$do$
但我有以下错误
ERROR: query has no destination for result data
HINT: If you want to discard the results of a SELECT, use PERFORM instead.
CONTEXT: PL/pgSQL function inline_code_block line 5 at SQL statement
我在这里做错了什么??
最佳答案
DO
目的是执行匿名代码块,它不返回任何内容(具体来说,它返回void)。
您可以在之后执行SELECT
语句(在DO
块之外),或者对需要预先创建的临时表执行INSERT
(这可以在块内完成)。
关于postgresql - 出现错误“查询没有结果数据的目的地”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52438141/