개발
postgreSQL 에서 변수 선언하여 사용하는 방법 : Declare and use variable
쩌비군
2021. 7. 19. 23:29
728x90
Database 작업을 하다보면 변수를 선언하고 그 변수를 Query 에서 사용하는 방식을 많이 사용하게 된다.
DELETE FROM TABLE WEHRE = @MY_VAL
MYSQL, MSSQL 에서는 DECLARE 를 이용해서 변수 선언이 가능하다.
DECLARE @MY_VAL INT
SET @MY_VAL = 100
SELECT * FROM somewhere WHERE something = @MY_VAL
하지만, postgreSQL 에는 DECLARE 가 없가 없어서 아래와 같은 두 가지 방 법으로 변수를 선언하여 사용할수 있다.
1. with 문법을 이용하여 임시 테이블 생성
2. session 에 변수를 생성
두 방법 모두 변수를 지정하여 사용 할 수 있지만, 1번처럼 임시 테이블을 생성하는 것 보단 2번의 session 에 변수를 생성하는 방법을 추천한다.
- with 문법을 이용하여 임시 테이블을 생성하는 방법은 아래와 같이 임시 테이블을 만들어 변수를 지정하고, 이 테이블을 Join 하여 변수를 사용 하게 된다.
WITH variables (VAR_1, VAR_2) as ( values (5, 'foo') ) SELECT * from somewhere, variables where something = VAR_1;
- SET SESSION 으로 변수를 선언하고 currect_setting('변수명')::변수타입 과 같이 사용 한다.
SET SESSION VAR_1 = '803' SELECT * from somewhere, variables where something = current_setting('VAR_1')::int;
postgreSQL 에서도 이렇게 쉽게 변수를 선언하고 사용 할 수 있다~~:)