질문에 대한 정답은 아니지만 ..
간단한 테스트 테이블을 만들기 위해 ..
FOR .. IN .. LOOP 를 이용한 plpgsql 문을
작성해 보았습니다.
<pre>
//////////////////////////////////////
// For 문 원형
//
// FOR var_name IN expression .. expression LOOP
// statement
// END LOOP;
//
//////////////////////////////////////
drop function ftab1_func(integer,text);
drop table ftab1;
create table ftab1 ( f_id int4, f_name text, f_mail text );
create function ftab1_func(integer,text) returns integer
as'
declare
var1 integer default 0;
var2 alias for $1;
var3 alias for $2;
begin
for f_id_seq in var1 + 1 .. var2 loop
insert into ftab1 values(f_id_seq,var3||f_id_seq,f_id_seq);
end loop;
return 0;
end;
' language 'plpgsql';
select ftab1_func(10,'ab');
select * from ftab1;
///////////////////////////////////////
//실행 결과 (The result of execution)
///////////////////////////////////////
DROP
DROP
CREATE
CREATE
ftab1_func
////////////
0
(1 row)
f_id | f_name | f_mail
//////+////////+////////
1 | ab1 | 1
2 | ab2 | 2
3 | ab3 | 3
4 | ab4 | 4
5 | ab5 | 5
6 | ab6 | 6
7 | ab7 | 7
8 | ab8 | 8
9 | ab9 | 9
10 | ab10 | 10
(10 rows)
</pre>
|