[英]How to call a function a in plpgsql which has a return data type of void?
create or replace function f1() //procedure should display 9
returns void
as $$
declare age int default 9; //variable declaration
begin
select age; //prints 9
end;
$$ language plpgsql;
CREATE FUNCTION
我不斷收到此錯誤
perform f1();
ERROR: syntax error at or near "perform"
LINE 1: perform f1();
perform
是一個 PL/pgSQL 語句。 在普通 SQL 中,您只需使用 SELECT:
select f1();
請注意,寫入的 function不會“打印 9”——它會導致錯誤,因為SELECT
需要存儲在某處。 在 PL/pgSQL 中你需要RAISE
語句來“打印”一些東西:
create or replace function f1()
returns void
as $$
declare
age int default 9;
begin
raise 'Age: ', age; -- this prints 9
end;
$$
language plpgsql;
如果你想讓 function 來“顯示”一些東西,讓 function返回結果可能更有意義:
create or replace function f1()
returns int
as $$
declare
age int default 9;
begin
return age;
end;
$$
language plpgsql;
然后select f1()
將“打印” 9
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.