私は15個のテーブルを持つデータベースを持っています。開発プロセスにより、データベース内のすべてのテーブルに 1 つの列を追加する必要があります。他のいくつかのサービスもこのデータベースを使用しているため、この変更は既存のプロセスには影響しません。それを達成するために、新しいデータベースを作成することを考えました。それを行う他の方法はありますか?
質問する
41 次
3 に答える
0
通常は、新しいスキーマ (「ユーザー」) を作成し、その新しいスキーマにテーブルを作成するだけで十分です。Oracle では、同じ名前のテーブルが複数のスキーマに存在する可能性があります。
CREATE USER xxx IDENTIFIED BY yyy
于 2012-12-06T06:57:01.190 に答える
0
何が問題なのalter table T add (COL varchar2(5));
ですか?
もちろん、依存するストアド プロシージャまたはパッケージは無効になります。それらをそのままにしておくと、最初の呼び出しで例外が返され、呼び出されたプロシージャが自動再コンパイルされます。または、できますalter procedure P compile;
。
于 2012-12-06T09:08:19.380 に答える
0
開発用に別のスキーマを作成し、テーブルを新しいスキーマにインポートできます。開発者は、本番スキーマではなく開発スキーマを使用する必要があります。新しいデータベースを作成して現在のデータベースからインポートすることもできますが、それは最後のオプションかもしれません
于 2012-12-06T06:58:10.083 に答える