Postgres에서 프로시저를 작성해서 인서트를 하고자 합니다.
create or replace function func1(pMonth varchar)
returns integer as $$
DECLARE
var_str varchar(100)
BEGIN
insert into
t1
select
a.name
,a.id
,b.birthday
from
t2 a left join t3 b on a.id = b.id
where
a.month = pMonth ;
raise info '%: insert success ', now();
return 0;
EXCEPTION WHEN OTHERS THEN
select SQLSTATE || ':' || SQLERRM INTO var_str;
raise info '%: error : %',now(),var_str;
END;
$$ LANGUAGE 'plpgsql';
위에와 같이 코드를 작성하고 실행하고자하는데 실행이 않되네요.
에러도 안나오고 바로 return 0 문으로 가버립니다.
create or replace function func1(pMonth varchar)
returns varchar as $$
DECLARE
var_str varchar(100);
BEGIN
insert into
t1
select
a.name
,a.id
,b.birthday
from
t2 a left join t3 b on a.id = b.id
where
a.month = pMonth ;
raise info '%: insert success ', now();
return 0;
EXCEPTION WHEN OTHERS THEN
select SQLSTATE || ':' || SQLERRM INTO var_str;
raise info '%: error : %',now(),var_str;
END;
$$ LANGUAGE 'plpgsql';
샘플로 수행해보면 데이터가 잘들어가는데여...
insert 되고 나서 return구문으로 가는 것은 정상입니다.