0

data_type = VARCHAR2 の列メッセージを受け取りました。すでにいくつかのデータが保存されています。この列を NCLOB 型にしたいと考えています。この列のコード セットは UTF-8 である必要があります。

私は次のことをしました:

  • tempmessageタイプ NCLOB のテーブルに列を追加しました
  • tempmessageメッセージが詰まった
  • メッセージの名前を古いメッセージに変更しました((動作するまで)データを使用しないようにするため)
  • tempmessageメッセージに改名

次に、統合テストを試してみたところ、例外が発生しました: java.sql.BatchUpdateException: ORA-01400: Insert of NULL into ("BATCH_LOG"."MESSAGEOLD") not possible.

私は何を間違えましたか?

4

1 に答える 1

0

元の列は として定義されていましたが、NOT NULL名前を に変更したときMESSAGEOLD、この制約は維持されました。MESSAGEOLD列から NOT NULL 制約を削除する必要があります。

ALTER TABLE foo MODIFY MESSAGEOLD NULL;
于 2014-07-16T10:12:03.837 に答える