2016-05-23 10 views
0

私はSQL Developerを使用してOracleデータベースにアクセスしています。私はそのテーブルをエクスポートし、プライマリキーの生成を維持したいと思います。 SQLloaderを使用できないため、「SQLへのエクスポート」しか使用できません。SQL Developerを使用してエクスポートし、主キーを保持

Database1を、私は別のデータベース(データベース2)にコピーするデータを含むデータベースである:ここでは

は一例です。 Database1の次のレコードは、プライマリキー200を取得します。

Database2は、Database1からのすべてのデータ(プライマリキー、外部キーなどなど)を取得する必要があります。私はそこにテーブルをドロップし、sqlの開発者が私に与えたSQLを使用してそれを再作成し、新しいレコードを作成するとID 92(例!!)が得られます。

これは確かに私を問題に導きます。

テーブルを作成し、Database1を実行する場合に取得するのと同じ主キーを取得する方法はありますか?

+0

あなたはシーケンスがあり、とにかくシーケンスを再作成するだけです。 –

+0

シーケンスがあるかどうかわかりません - プライマリキーが入ったテーブルがあります。主キーのシーケンスを見つける方法はありますか? – Breiti

+0

シークエンスを見つけました:) – Breiti

答えて

1

あなたの状況では、シーケンスを使用している可能性があり、それはテーブルのいずれかのトリガーで見つけることができます。次は、以下のような配列を変更する必要があります

DROP SEQUENCE my_seq; 

CREATE SEQUENCE my_seq 
START WITH 200 
MAXVALUE 9999999999999999999 
MINVALUE 1 

だから、その方法は、あなたがデータをロードするようにしましょう。しかし、PKデータはビジネスデータではなくストレージレベルのデータに敏感なので、あるデータベースから別のデータベースへのコピーPKは良い考えではないと思います。

関連する問題