0
我想創建一個函數,它將在檢查表RESERVATION中是否有任何行的RESERVATION_ID與我給它的reser_id相等之後檢查返回一個整數變量(或布爾值)。但是我的代碼在IF語句中看起來不對。PostgreSQL如果函數中出現錯誤42601
這是我的查詢代碼:
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的一個新手,看起來像我沒有足夠努力來解決售後服務這一點,但請大家幫幫我。 非常感謝!
哦,謝謝你!我做到了,但仍不知道$$的工作方式,有多少關鍵字用於它? – user3721005
我不明白你在問什麼。 –
我看到「$$」之後它們什麼都沒有,有時它們是「LAGUAGE SQL」,有時是「LANGUAGE plpgsql」。 我仍然不能得到他們的意義。 – user3721005