我試圖運行根據the documentation 此命令的功能,但它始終返回1,即不,我想如何創建與Postgres的
CREATE FUNCTION getQuantity() RETURNS integer $$
select count(*) from table;
$$ LANGUAGE SQL;
select getQuantity();
行數有誰知道,如果我做錯了什麼?
我試圖運行根據the documentation 此命令的功能,但它始終返回1,即不,我想如何創建與Postgres的
CREATE FUNCTION getQuantity() RETURNS integer $$
select count(*) from table;
$$ LANGUAGE SQL;
select getQuantity();
行數有誰知道,如果我做錯了什麼?
您錯過了關鍵字as
。此外,count(*)
返回bigint
,所以:
create function get_quantity()
returns bigint as $$
select count(*) from my_table;
$$ language sql;
或
create function get_quantity()
returns integer as $$
select count(*)::int from my_table;
$$ language sql;
仍然返回一個,我嘗試兩個 –
兩個函數按預期工作,請參閱修改答案中的鏈接。也許你應該放棄舊版本的函數:'drop function get_quatnity()'。 – klin
是的,我放棄它後工作。這就像瀏覽器中的緩存 –
你不返回任何東西。你的'RETURN'語句在哪兒? –
@WEI_DBA你的意思是將返回select count(*)...或將select語句保存在一個變量中並返回它? –