[pgsql-jp: 27951] Re: view/rule/insert
ISHIDA Akio
iakio @ pjam.jpweb.net
2002年 11月 12日 (火) 16:14:33 JST
こんにちは。石田@苫小牧市です。
Mashiki さんの方法が良いように思いますが、
自身のお勉強のためにあえて pl/pgsql で書いてみました。
create function get_c1_id(text)
returns integer as '
declare
id integer;
begin
select into id c1_id from c1 where c1_name = $1;
if not found then
select into id nextval(''c1_c1_id_seq'');
insert into c1 values($1, id);
end if;
return id;
end;
' language 'plpgsql'
create rule c1v_ins as
on insert to c1v
do instead
insert into t1 values (
(select get_c1_id(new.c1_name)),
new.memo
);
という感じでしょうか。
# あ、私もトリガの方が良い気がしてきた、、、
--
ISHIDA Akio
pgsql-jp メーリングリストの案内