6
rollback;

テーブルの変更を元に戻すようには見えません。

背景:
テーブルを破棄している .sql スクリプト (解析された Hibernate スクリプトに基づく) を生成しています。テストのためにデータベース全体をインポートするには最大 30 分かかります (これもマシンの速度が低下します)。私は休憩を楽しんでいますが、ロールバックなどのコマンドですべてを元に戻してやり直すことを好みます。

ところで、これは Oracle 10g Express Edition リリース 10.2.0.1.0 です。

これは可能ですか?

4

2 に答える 2

5

Express Edition では、これが可能かどうかはわかりません。ALTER TABLEDDL は暗黙的にコミットされるため、DDL 操作をロールバックすることはできません。

Oracle には復元ポイントを作成するオプションがあり、データベース全体を特定の時点に比較的迅速にフラッシュバックできます。これにより、復元ポイントの作成からフラッシュバック コマンドを発行したポイントまでの間にコミットされたすべてのトランザクション (DML および DDL) の効果が取り消されます。これは、復元ポイントを作成してフラッシュバックする例であり、データベース全体のフラッシュバックを行う別の例です。この機能がエクスプレス版で利用できるかどうかはわかりません。

于 2011-08-18T13:45:17.587 に答える
3

このバージョンの Oracle は、すべての ALTER TABLE ステートメントでコミットを実行します。

この投稿を参照してください: 主要な SQL データベースで CREATE TABLE および ALTER TABLE ステートメントをロールバックすることは可能ですか?

于 2011-08-18T13:47:19.210 に答える