| 昔ここで教わった気がしますが、ずいぶん前なので今ならもっといい方法があるかもしれません。 当時色々やって動くようになったんで、それっきりそのままでずっと使ってます。
桐の表定義と同じ項目以外に、id列を作る SET DEFAULT nextval('"請求_id_seq"'::regclass);
トリガ関数を定義して
CREATE OR REPLACE FUNCTION set_pkey() RETURNS trigger AS $BODY$ BEGIN NEW.id := nextval(TG_ARGV[0]::regclass); RETURN NEW; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION set_pkey() OWNER TO postgres;
トリガで使う
CREATE TRIGGER "請求_before_ins" BEFORE INSERT ON "請求" FOR EACH ROW EXECUTE PROCEDURE set_pkey(E'請求_id_seq');
id以外の項目を桐から読み込むと、pg上で(桐の外部DBでも)編集できるようになる。
|