私はOracleにSQL Serverベースのアプリケーションを移植しています。私たちのOracle DBAは私に、オリジナルのSQL Serverスキーマ(とそれから生成されたもの)と同一であると考えられていたスキーマを私に与えましたが、自動生成キーはありません。私はこれらのテーブルPKを通常のINTからインクリメントに変更しようとしています。私は、Oracle SQL Developer 4.0.3とOracle 12cを使用しています。Oracleの既存のPKに自動生成されたキーを追加します。
私が受け取るエラーはORA-01442: column to be modified to NOT NULL is already NOT NULL
です。テーブルを編集して列を選択し、[ID]ドロップダウンを[IDとして生成]に設定すると、これが表示されます。私は、SQl Developerが、まだPKであるときにそれがnullでないようにしようとしている理由がわかりません。
私の質問は次のとおりです。生成されたキーを設定する適切な方法ですか?どうすればこの問題を回避できますか?必要な列をすべて変更したら、DBAはスキーマを使用して最初に作成したキーを適切に生成するために使用したプロシージャを再生成して、良いスキーマを作成するためのよりよいソリューションを提供できますか?
ありがとうございました。