0

私はこれであまり運がありません。新しいテーブルを作成し、デフォルト値で列を追加しています。テーブルは列のデータ型をデフォルトで CHAR 7 に設定していますが、この最後の列は CHAR 30 である必要があります。

これまでのところ、作成後にテーブルを変更することしかできませんでしたが、これをすべて 1 つのステップで行う方法が必要です。

CREATE TABLE table1 parallel 8 NOLOGGING AS
SELECT
  t2.1,
  t2.2,
  t2.3,
  'N' AS Store,
  'N' AS Address,
  'N' AS Owner,
  'N' AS User,
  'N' AS Business,
  'Unknown' AS Source
FROM t2

最後の列 (ソース) の値は 7 文字を超えていますが、他のすべての値は Y/N です。最初に考えたのは、'Unknown' AS Source (char 30) を実行することでしたが、引き続き ORA-00923 が発生します。

どんな助けでも大歓迎です。

4

1 に答える 1

3

CHAR(30) にする必要がある場合は、それを確認する必要があります。スペースでパディングすることは、必ずしも正しい方法ではありません。データ型を変換するCAST()関数を使用して、データベースに希望する内容を伝えることをお勧めします。

cast('Unknown' as char(30)) as source
于 2013-05-10T20:13:30.197 に答える