Postgresql:동적 SQL 문 구 는 Select into 를 사용 할 수 없 습 니까?

제 데이터베이스 버 전 은 PostgreSQL 8.4.7 입 니 다.다음은 잘못된 저장 과정 입 니 다.
CREATE or Replace FUNCTION func_getnextid( tablename varchar(240), idname varchar(20) default 'id') RETURNS integer AS $funcbody$ Declare sqlstring varchar(240); currentId integer; Begin sqlstring:= 'select max("' || idname || '") into currentId from "' || tablename || '";'; EXECUTE sqlstring; if currentId is NULL or currentId = 0 then return 1; else return currentId + 1; end if; End; $funcbody$ LANGUAGE plpgsq
 
실행 후 이러한 오류 가 발생 했 습 니 다:
 
SQL error:
ERROR:  EXECUTE of SELECT ... INTO is not implemented
CONTEXT: PL/pgSQL function "func_getnextbigid" line 6 at EXECUTE statement

이렇게 고 친 게 맞다.
 
CREATE or Replace FUNCTION func_getnextid( tablename varchar(240), idname varchar(20) default 'id') RETURNS integer AS $funcbody$ Declare sqlstring varchar(240); currentId integer; Begin sqlstring:= 'select max("' || idname || '") from "' || tablename || '";'; EXECUTE sqlstring into currentId; if currentId is NULL or currentId = 0 then return 1; else return currentId + 1; end if; End; $funcbody$ LANGUAGE plpgsql;

좋은 웹페이지 즐겨찾기