728x90
반응형
SMALL
동적으로 테이블명을 찾고 싶은 경우가 있는데, 예를 들어 tb_01, tb_02, tb_03 등..
뒤에 있는 숫자를 붙여서 다이나믹하게 붙여서 조회한다거나..
테이블명 자체가 다양할게 바뀔 수 있거나..
그럴때는 함수로 빼야하는것같다..
EXECUTE를 사용해서 텍스트를 동적으로 쿼리를 대입하고 결과를 리턴한다.
CREATE OR REPLACE FUNCTION deerDB.TESTTEST(TBL_NAME CHARACTER VARYING(100)) RETURNS GEOMETRY AS
$$
DECLARE
TBLNAME CHARACTER VARYING(100) := TBL_NAME;
OUTPUT CHARACTER VARYING(100);
STATEMENT_OUTPUT text;
BEGIN
STATEMENT_OUTPUT := 'SELECT COLUMN FROM ' || TBL_NAME || ' WHERE 1=' || '1' || ' LIMIT 1';
EXECUTE STATEMENT_OUTPUT
INTO OUTPUT;
RETURN OUTPUT;
END; $$
LANGUAGE PLPGSQL;
728x90
반응형
LIST
'PostgreSQL' 카테고리의 다른 글
postgreSQL 이번달의 첫번째날, 마지막날 구하기 (0) | 2023.03.13 |
---|---|
postgreSQL ifnull 대신 역할 - coalesce()!!! (0) | 2023.03.13 |
postgreSQL AES 암호화 복호화 (0) | 2023.03.13 |
ERROR: operator does not exist: bigint = character varying (0) | 2020.11.17 |
PostgreSQL - auto increment 기능 만들기 (0) | 2020.11.17 |