달나라 노트

Redshift : procedure for loop (procedure에서의 for loop 구문) 본문

SQL/Redshift

Redshift : procedure for loop (procedure에서의 for loop 구문)

CosmosProject 2025. 3. 15. 17:38
728x90
반응형

 

 

 

procedure 내부에서 for syntax를 사용할 수 있습니다.

 

create or replace procedure schema.procedure_name(
    f1    in bigint,
    f2    in float,
    f3    in varchar
)
language plpgsql
as $$
    begin
        for i in 1..10 loop
            raise notice 'i = %', i;
        end loop;
    end;
$$
;


-- Result
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
i = 10

 

가장 기본적인 for loop 형태는 위와 같습니다.

1에서 10까지의 숫자를 대상으로 for loop를 실행합니다.

주의할 점은 1에서 10까지이므로 1도 10도 모두 포함된다는 것입니다.

 

 

 

create or replace procedure schema.procedure_name(
    f1    in bigint,
    f2    in float,
    f3    in varchar
)
language plpgsql
as $$
    begin
        for i in 1..10 loop
            if i = 3 then
                raise notice 'i is 3';
            elseif i = 7 then
                raise notice 'i is 7';
            else
                raise notice '';
        end loop;
    end;
$$
;


-- Result


i is 3



i is 7

 

위처럼 for loop와 if를 동시에 사용하여 다양한 로직을 구현할 수 있습니다.

 

 

https://docs.aws.amazon.com/ko_kr/redshift/latest/dg/c_PLpgSQL-statements.html

 

지원되는 PL/pgSQL 문 - Amazon Redshift

지원되는 PL/pgSQL 문 PL/pgSQL 문은 루프 및 조건 표현식을 비롯한 프로시저 구문으로 SQL 명령을 보완하여 논리 흐름을 제어합니다. COPY, UNLOAD, INSERT 등의 데이터 조작 언어(DML)와 CREATE TABLE 등의 데이

docs.aws.amazon.com

 

 

 

 

 

 

728x90
반응형
Comments