プライマリキーの削除を行うには?

解決


困ったちゃん  2005-09-25 01:04:25  No: 17692  IP: [192.*.*.*]

またお世話になります。
TTableでプライマリキーの削除の方法、または変更はできるでしょうか?
IndexDefsをいじっているのですが効果なしです。

編集    削除
篠田雅夫  2005-09-25 01:25:08  No: 17693  IP: [192.*.*.*]

私も試したことがないのですが、制約を解除してから行うとどこかに書いてあった気がしますが?
IndexDefのOptionをクリアして、IndexDefs.Updateではだめですか?

編集    削除
困ったちゃん  2005-09-25 01:27:12  No: 17694  IP: [192.*.*.*]

篠田雅夫さん、早々ありがとうございます。
> IndexDefのOptionをクリアして、IndexDefs.Updateではだめですか?
はい、まったくだめです。
困っています。

編集    削除
篠田雅夫  2005-09-26 03:24:58  No: 17695  IP: [192.*.*.*]

ユニークキーならTTable.DeleteIndexにインデックス名を
渡せば削除できるようですね。

編集    削除
困ったちゃん  2005-09-26 15:26:08  No: 17696  IP: [192.*.*.*]

> ユニークキーならTTable.DeleteIndexにインデックス名を
> 渡せば削除できるようですね。

やってみたところ、「排他的オープンではありません」って起こられてしまうのです。
どうでしょうこれ?

編集    削除
篠田雅夫  2005-09-26 18:26:16  No: 17697  IP: [192.*.*.*]

「排他的オープンではありません」の件ですが、テーブルを開かないで実行するといいと思いますよ。<- これについて理由はわかりませんが…。

編集    削除
困ったちゃん  2005-09-27 21:08:11  No: 17698  IP: [192.*.*.*]

篠田さんの言われたとおりテーブルを開かないで実行すると削除できました。
ありがとうございます。

編集    削除