/////////////////////////////
// 동적 이 아닐때
/////////////////////////////
CREATE OR REPLACE FUNCTION "public"."test" () RETURNS bigint AS
$body$
DECLARE
iResult BIGINT;
BEGIN
select into iResult max(main_step) from notice_main_t;
return iResult;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
/////////////////////////////
// 동적 일때
/////////////////////////////
CREATE OR REPLACE FUNCTION "public"."test" (bid varchar) RETURNS bigint AS
$body$
DECLARE
iResult BIGINT;
tSQL text;
BEGIN
tSQL := 'select into iResult max(main_step) from '||bid||'notice_main_t';
execute tSQL;
return iResult;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
이 각 두 함수를 실행 시키면
처음것은 실행 결과가 나오는데
두번째는 다음과 같은 에러가 나네요.
ERROR: syntax error at or near "into" at character 8
QUERY: select into iResult max(main_step) from notice_main_t
CONTEXT: PL/pgSQL function "test" line 6 at execute statement
초보의 고난기 입니다 좀 알려주세용 |