for, foreach 문 사용하기
for와 foreach를 사용하여 합계를 구하는 함수를 만들어 보았습니다.
생각대로 foreach 가 훨신 깔끔하게 느껴집니다.
아래 소스를 확인해 보시기 바랍니다.
-- for를 사용하여 합계 구하기
CREATE OR REPLACE FUNCTION fn_sum(numeric[])
RETURNS numeric AS $$
DECLARE
a_data ALIAS FOR $1;
v_return numeric;
v_i integer;
v_len integer;
BEGIN
v_return := 0;
v_len := array_length(a_data, 1);
FOR v_i IN 1..v_len
LOOP
v_return := v_return + a_data[v_i];
END LOOP;
RETURN v_return;
END
$$ LANGUAGE 'plpgsql';
-- forech를 사용하여 합계 구하기
CREATE OR REPLACE FUNCTION fn_sum(numeric[])
RETURNS numeric AS $$
DECLARE
a_data ALIAS FOR $1;
v_return numeric;
v_val numeric;
BEGIN
v_return := 0;
FOREACH v_val IN ARRAY a_data
LOOP
v_return := v_return + v_val;
END LOOP;
RETURN v_return;
END
$$ LANGUAGE 'plpgsql';
'Test Code > PostgreSql' 카테고리의 다른 글
[PostgreSql] SELECT INTO 사용법 (0) | 2015.03.18 |
---|---|
[PostgreSql] 계산함수를 이용하여 array 계산하기 (0) | 2015.03.12 |
[PostgreSql] 테이블의 컬럼 정보 조회하기 (0) | 2015.03.11 |
[PostgreSql] WITH 구분 사용 및 산술 Operator (0) | 2015.03.10 |
[PostgreSql] md5 로 저장하기 (0) | 2015.03.10 |