为什么我总是从Postgres收到以下错误?
syntax error at or near "IF"
我阅读了PostgreSQL:文档:8.3:控制结构。首先,我尝试执行一个困难的查询(带有子查询),但是随后我尝试执行一个简单的查询,如下所示:
IF 2 <> 0 THEN select * from users; END IF;
错误仍然相同。我究竟做错了什么?
IF 2 <> 0 THEN select * from users; END IF;
您不能在plpgsql函数之外使用PL / pgSQL语句。而且,如果此片段来自plpgsql函数,那么它也是无稽之谈。您不能像T-
SQL一样直接返回查询结果。
CREATE OR REPLACE FUNCTION test(p int)
RETURNS SETOF users AS $$
BEGIN
IF p = 1 THEN
RETURN QUERY SELECT * FROM users;
END IF;
RETURN;
END;
$$ LANGUAGE plpgsql;
当您从函数中得到一些结果时,您必须使用RETURN语句-plpgsql仅知道函数,它不支持过程-因此,无限制的SELECT毫无意义。
if-then语句后面可以跟一个可选的else语句,该语句在布尔表达式为false时执行。 语法 (Syntax) if-then-else语句的语法是 - if condition then S1 else S2; 其中, S1和S2是不同的陈述。 Please note that the statement S1 is not followed by a semicolon 。 在if-th
If语句后面可以跟一个可选的Else语句,该语句在布尔表达式为false时执行。 语法 (Syntax) VB.Net中If ... Then ... Else语句的语法如下 - If(boolean_expression)Then 'statement(s) will execute if the Boolean expression is true Else 'statement(
除非后面的语句后面跟一个可选的else语句,该语句在布尔表达式为true时执行。 使用unless-then ... else语句,我们可以在一行中编写除非... else语句。 语法 (Syntax) 以下是CoffeeScript中的unless-then else语句的语法。 unless expression <b>then</b> Statements (for false) else
if-then语句后跟一个可选的else语句,该语句在布尔表达式为false时执行。 使用if-then ... else语句,我们可以在一行中编写if ... else语句。 语法 (Syntax) 以下是CoffeeScript中if-then...else语句的语法。 if expression <b>then</b> Statements (for true condition) else
if… then语句后面可以跟一个可选的else statement,该else statement,在逻辑表达式为false时执行。 语法 (Syntax)> if… then… else语句的基本语法是 - if (logical expression) then statement(s) else other_statement(s) end if 但是,如果给
if/then语句后面可以跟一个可选的else语句,该语句在布尔表达式为false时执行。 语法 (Syntax) F#编程语言中if/then/else语句的语法是 - if expr then expr else expr 流程图 (Flow Diagram) 例子 (Example) let a : int32 = 100 (* check the boolean condit