PostgreSQL 함수에서 function 호출

4272 단어 PostgreSQL기초
1. 반환값이 없는 function 호출
create or replace function func01()returns void as $$
begin
	raise notice ' from func01(): hello PG';
end ;
$$language plpgsql;
create or replace function func02() returns void as $$
begin
	perform  func01();
end;
$$language plpgsql;

실행:
select  func02();

 :   from func01(): hello PG
CONTEXT:  SQL statement "SELECT func01()"
 PERFORM 3 PL/pgSQL "func02"

 : 14 ms.
  1

2. 반환값이 없는 function 호출
create or replace function func03()returns integer as $$
begin
	return 1;
end ;
$$language plpgsql;

create or replace function func02() returns void as $$
begin
	perform  func03();
end;
$$language plpgsql;

selectfun02 () 를 실행할 때 반환 값이 없습니다.perform이 결과를 버렸기 때문입니다.
perform을 select into로 변경합니다.
create or replace function func02() returns void as $$
declare n int;
begin
	select into n func03();
	raise notice 'n: %',n;
end;
$$language plpgsql;

다음을 수행합니다.
select  func02();

 :  n: 1

 : 12 ms.
  1  。

3. 참고 반환값 있음
create or replace function func04(n int)returns integer as $$
begin
	return n;
end ;
$$language plpgsql;


create or replace function func02() returns void as $$
declare n int;
begin
	n=func04(4);
	raise notice 'n: %',n;
end;
$$language plpgsql;

다음을 수행합니다.
select  func02();

 :  n: 4

 : 11 ms.
  1  。

좋은 웹페이지 즐겨찾기