2

Linux サーバーで動作する DB2 の特定のスキーマの下にあるすべてのテーブルを切り捨てたいと考えています。しかし、ALTER TABLE を使用して外部キー制約を無効にする権利はありません。

とにかくこれを行うことはありますか?

テーブル間の制約に基づいてトポロジ ソートを実行することを検討していますが、少し複雑です。

この問題について何か良いアイデアはありますか?

4

1 に答える 1

1

どのプラットフォームにいるのかは言いません。この回答は、Linux、UNIX、および Windows 上の DB2 に固有のものです。

テーブルに対する LOAD、INSERT、および DELETE 権限がある場合は、外部キー制約があるかどうかに関係なく、空のファイルで LOAD コマンドを使用してテーブルを切り捨てることができます。

LOAD from /dev/null of del replace into yourschema.yourtable nonrecoverable

これにより、すべての従属テーブルがチェック保留状態になります... すべてのテーブルを切り捨てたら、SET INTEGRITYステートメントを使用してすべてのテーブルをチェック保留状態から外します。

于 2012-10-11T17:57:49.303 に答える