trong plpgsql postgresql,trong plpgsql, làm thế nào để thoát khỏi một hàm trả về hồ sơ
create function f1(p_i int) returns table(c1 int) as $$
begin
-- wish to exit, do not wish to return anything
if p_i < 0 then
-- cannot RETURN - since can only return record!
end if;
-- continue processing
return query select c2 from t1 where c1 = p_i;
...
end;
$$ language plpgsql;
theo doc, cách duy nhất để thoát ra khỏi một chức năng là RETURN. nhưng RETURN ở đây yêu cầu trả lại QUERY hoặc RETURN NEXT - dường như không có cách nào để thoát khỏi chức năng.
Nếu một hàm (như của bạn) được định nghĩa để trở lại 'TABLE () 'hoặc' SETOF ... 'bạn có thể chỉ đơn giản là' RETURN; '. Bạn phải suy nghĩ về các hàm trả về một giá trị và không có tham số 'OUT' được định nghĩa. ** Sau đó, ** bạn cần trả về một giá trị. –