當兩個查詢獨立運行用戶時我得到的結果300和0但是在我的函數中我沒有返回行。爲什麼我的plpgsql函數沒有返回行
我正在從SQL Server遷移到PostgresSQL,所以有些東西對我來說有點陌生!
create or replace function getsummary(userid int)
returns table (assetTotal numeric, liabilityTotal numeric)
as $$
BEGIN
SELECT sum(t.credit) - sum(t.debit)
into assetTotal
from transactions t
join user_institutes i on t.user_institute_id = i.id
where i.account_type in (1,3,4,5)
and i.user_id = userid;
select sum(t.credit) - sum(t.debit)
into liabilityTotal
from transactions t
join user_institutes i on t.user_institute_id = i.id
where i.account_type in (2,8,10)
and i.user_id = userid;
END
$$ language plpgsql;
select * from getsummary(1)
非常感謝
它可能還表示,並沒有返回達到?..這isbecause你不要有任何out參數和返回不要什麼...你做實際的INSERT INTO assetTotal表?.. –
@VaoTsun ,nope只是說沒有行返回和執行時間。所以我錯誤地認爲將x插入x填充我的表格?現在我想想它是否想以某種方式插入到行中並將其插入到表中以返回? – dave
哦 - 我以爲OP意味着他從t-SQL到plpgsql的movng :) –