【发布时间】:2018-08-15 15:58:51
【问题描述】:
我正在尝试更好地理解 postgreSQL 9.1 中的 DO 命令
我有以下代码块,
DO
$do$
BEGIN
IF 1=1 THEN
SELECT 'foo';
ELSE
SELECT 'bar';
END IF;
END
$do$
但是它返回以下错误:
[42601] 错误:查询没有结果数据的目的地 提示:如果要丢弃 SELECT 的结果,请改用 PERFORM。其中:SQL 语句中的 PL/pgSQL 函数“inline_code_block”第 4 行
【问题讨论】:
-
如果不将
SELECT的结果放在某处或对其进行处理,您将无法在DO块中执行SELECT。DO块中的SELECT 'foo'不会在屏幕上显示“foo”。数据通过RAISE NOTICE等显示。如果要选择某些内容并丢弃结果,请使用PERFORM:PERFORM 'foo'
标签: postgresql