../../image/benilogo.gifPostgreSQL について


PostgreSQL の oid ( Object ID ) について。

   
更新するとき キーとなる項目が更新されていると UPDATE table SET col = expression WHERE で合致するレコード
が見つからないので更新出来ない と言う問題がある。 それについて OID ( オブジェクト ID ) オブジェクト識別 ID とでも言うのか
があって、その該当レコードについて識別する機能があるようです。
oid
 select bhn_code,bhn_name,oid from bhnmst;
  bhn_code  |    bhn_name    |  oid
------------+----------------+-------
 0000-0008  | 21部品         | 22462
 0000-0002  | ボタン01       | 22463
 0000-0003  | 親部品01       | 22464
 0000-0006  | fffff          | 22465
 0000-0012  | たばこ         | 22472
 0000-0010  | 10番目の足     | 22467
 0000-0005  | その次         | 22468
 0000-0011  | 湯呑み         | 22469
 0000-0013  | メインローター | 22473
 0000-0007  | 次は七         | 22471
 0000-0015  | 風防ガラス1    | 22476
 0000-0014  | 操縦桿2        | 22475
 0000-0004  | 窓1            | 22474
 0000-0001  | テスト部品     | 22470
 0000-0016  | 脚右           | 22477
 0000-0009  | 9番目の釘      | 22466
(16 rows)

   なるほど こんな感じで それぞれのレコードに識別番号が付いている。

  これがあれば キーを変更しても OID を基準にして更新がかけられる筈。

  このあたりのことは 開発者ガイドのシステムカタログに詳細が載っている。
  どういう基準で番号がふられているかはよくわからないけれど、ともかく
   このテーブル内では一意の番号がふられているとのこと。
  















目次に戻る

2005/02/21start ********* Last Update 2006/06/01  19:40 JST

(C) Y.Kondou,2005,2006 All Rights, Reserved.
その他、お気づきの点がありましたら連絡先はこちらから