postgresql中使用if else语句
如何在postgresql中使用ifthenelse语句。从postgresql8.3的官方发行文档有以下说明:38.6.2.ConditionalsIFstatemen...
如何在postgresql中使用if then else语句。
从postgresql8.3的官方发行文档有以下说明:
38.6.2. Conditionals
IF statements let you execute commands based on certain conditions. PL/pgSQL has five forms of IF:
IF ... THEN
IF ... THEN ... ELSE
IF ... THEN ... ELSE IF
IF ... THEN ... ELSIF ... THEN ... ELSE
IF ... THEN ... ELSEIF ... THEN ... ELSE
38.6.2.1. IF-THEN
IF boolean-expression THEN
statements
END IF;
但是,在使用中,即使最简单的
if true then select now() end if
都不可以使用。请问这是为什么呢?要安装什么扩展程序才能使用吗? 展开
从postgresql8.3的官方发行文档有以下说明:
38.6.2. Conditionals
IF statements let you execute commands based on certain conditions. PL/pgSQL has five forms of IF:
IF ... THEN
IF ... THEN ... ELSE
IF ... THEN ... ELSE IF
IF ... THEN ... ELSIF ... THEN ... ELSE
IF ... THEN ... ELSEIF ... THEN ... ELSE
38.6.2.1. IF-THEN
IF boolean-expression THEN
statements
END IF;
但是,在使用中,即使最简单的
if true then select now() end if
都不可以使用。请问这是为什么呢?要安装什么扩展程序才能使用吗? 展开
2个回答
展开全部
首先确定你是在基于pgsql的function里面使用的这些句子,这是个完整的sql执行会产生一个function
CREATE OR REPLACE FUNCTION test()
RETURNS void AS
$BODY$
BEGIN
if true then
perform (select now());
end if;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
注意,postgresql 中,对于select要不用perform函数来执行一个忽略结果的查询,要不用select in取得select函数,而不允许select语句直接出现在函数体重
如果要取得select now()的内容则可以这样写
CREATE OR REPLACE FUNCTION testwm()
RETURNS timestamp AS
$BODY$
DECLARE
nowtime timestamp;
BEGIN
if true then
select now() into nowtime;
end if;
return nowtime;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
这个函数返回select 的now()的结果
CREATE OR REPLACE FUNCTION test()
RETURNS void AS
$BODY$
BEGIN
if true then
perform (select now());
end if;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
注意,postgresql 中,对于select要不用perform函数来执行一个忽略结果的查询,要不用select in取得select函数,而不允许select语句直接出现在函数体重
如果要取得select now()的内容则可以这样写
CREATE OR REPLACE FUNCTION testwm()
RETURNS timestamp AS
$BODY$
DECLARE
nowtime timestamp;
BEGIN
if true then
select now() into nowtime;
end if;
return nowtime;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
这个函数返回select 的now()的结果
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询