2007-06-26
■PostgreSQL継承機能
PostgreSQLを長く使っておりますが、こんな機能があるとは知りませんでした。
たまにパーティショニングしたいな〜と思っていたのですが、まだ8.1系には手を出せないので、
これをうまく使えば、楽しくなりそうです。
下記のメインのテーブルを作ります。
create table t_sales (id serial primary key not null, name varchar(500), number int);
次に、t_sales を継承したテーブルを作成します。
create table t_sales_01 () INHERITS (t_sales);
insert into t_sales_01 (name, number) values ('test', 1); insert into t_sales_01 (name, number) values ('test', 2);
データを参照する場合は、親のテーブルに対しておこなうことで取り出すことができます。
select * from t_sales; id | name | number ----+------+-------- 1 | test | 1 2 | test | 2
さらにもう一つ継承したテーブルを作ってみます。
create table t_sales_02 () INHERITS (t_sales);
こっちにもデータを入れてみます。
insert into t_sales_01 (name, number) values ('test', 3);
親のテーブルで参照します。
select * from t_sales; id | name | number ----+------+-------- 1 | test | 1 2 | test | 2 3 | test | 3
両方の子テーブルから取り出すことができます。
もちろん、子テーブルだけを参照することもできます。
select * from t_sales_01; id | name | number ----+------+-------- 1 | test | 1 2 | test | 2
こんなこともできるみたいです。
update t_sales set number=4 where id=3; select * from t_sales; id | name | number ----+------+-------- 1 | test | 1 2 | test | 2 3 | test | 4
意外に知られていない機能な気もします。
大きなテーブル扱うときは、便利だな〜
これからはこいつで、実装してみよう。
トラックバック - http://d.hatena.ne.jp/ixcy/20070626/p1
リンク元
- 128 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=SUNA,SUNA:2006-24,SUNA:ja&q=簡単なフォーム
- 70 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=AnN&q=ethna+ファイル構成&btnG=検索&lr=lang_ja
- 55 http://www.google.co.jp/search?q=window.location&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox
- 44 http://www.google.co.jp/search?hl=ja&q=PostgreSQL+継承&btnG=検索&lr=
- 40 http://www.google.co.jp/search?hl=ja&q=maple+コマンド&lr=
- 33 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=ACCESS+フォーム+セッションの追加&num=50
- 28 http://www.google.co.jp/search?q=maple+コマンド&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 23 http://www.google.co.jp/search?q=window.location&ie=utf-8&oe=utf-8&hl=ja&btnG=JP+Search
- 21 http://www.google.co.jp/search?hl=ja&client=firefox&rls=org.mozilla:ja:official&q=onClickが動かない+safari+&btnG=検索&lr=lang_ja
- 19 http://www.google.co.jp/search?q=safari+onclick&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja-JP:official&client=firefox-a
