2017年12月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
無料ブログはココログ

« 来なくなった非通知64K | トップページ | 消えたMP3プレーヤー »

2009.01.10

HiRDBにPRIMARY KEYが……

ちょっと調べ物があってHiRDB8のマニュアルを見ていると、いつのまにやらCREATE TABLEでPRIMARY KEY指定ができるようになっているではありませんか。
全然知りませんでした。
ずっとUNIQUE CLUSTER KEYを使ってた……weep

HiRBDを初めて使ったのは10年ほど前で、バージョンは04-02だったかの頃でした(年がばれる?)。
当時、CREATE TABLEにPRIMARY KEY指定は無く、主キーに相当するのがUNIQUE CLUSTER KEYだったのです。
機能的には一意制約とNOT NULL制約が付くので同じようなものだと考えてよいのでしょうが(厳密には違うんでしょうけど)、CLUSTER KEYにはとても使いにくい所があるのです。
なんとキー項目の列を更新することができません。なのでUNIQUE CLUSTER KEYを主キーの定義として使うと主キー列は更新できないことになってしまうのです。
そのためアプリケーションでDELETE/INSERTを行うとか、CREATE UNIQUE INDEXで主キーの変わりにするとかやって逃げていました。
試してはいませんが、PRIMARY KEYで指定した列でも更新は可能のようです(少なくともできないとは書いてない)。
やはり主キー列が更新できないという、RDBとは思えないISAMのような仕様は評判が悪かったのでしょうか。

しかしいつの間に追加になったんでしょう。
HiRBD6の時にかなり大幅な機能追加があったようなので、そのときあたりなのような気もします。

HiRBD6を使ったこともあるんですが、そのときはHiRBD4で動いていたシステムの移行だったためDDLは変更なしということで調べもしなかったんですよね。
もっと早く気づいていれば今回はPRIMARY KEYを使ったのにな……

« 来なくなった非通知64K | トップページ | 消えたMP3プレーヤー »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/39755/43698325

この記事へのトラックバック一覧です: HiRDBにPRIMARY KEYが……:

« 来なくなった非通知64K | トップページ | 消えたMP3プレーヤー »

にほんブログ村

Amazon.co.jp