gpt4 book ai didi

function - PostgreSQL如果函数错误42601中存在

转载 作者:行者123 更新时间:2023-12-03 08:29:19 25 4
gpt4 key购买 nike

我想创建一个函数,在检查表RESERVATION中是否有任何行的RESERVATION_ID等于我赋予它的reser_id之后,将返回整数变量(或 bool(boolean) 值)。但是我的代码在IF语句中似乎不对。

这是我的查询代码:

    CREATE OR REPLACE Function fcn_check (reser_id integer) RETURNS integer AS $$
BEGIN
IF (EXISTS (SELECT * FROM TICKET_TICKET WHERE reservation_id = reser_id) )
THEN SELECT 1 AS result;
ELSE SELECT 0 AS result;
END IF;
END
$$ LANGUAGE SQL;

错误消息是:
ERROR:  syntax error at or near "IF"
LINE 2: IF (SELECT * FROM TICKET_TICKET WHERE reservation_id = rese...
^

********** Error **********

ERROR: syntax error at or near "IF"
SQL state: 42601
Character: 76

我是pgsql的新手,看来我没有尽力去解决这个问题,但是请帮助我。
非常感谢!

最佳答案

$$ LANGUAGE SQL;



您似乎正在编写PL/PgSQL,但已将其声明为SQL。

使用 LANGUAGE plpgsql

关于function - PostgreSQL如果函数错误42601中存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24113376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com