Web Artisan Blog - ウェブ アルチザン ブログ

SQL:Oracle:表(テーブル)定義の変更:データ型変更の注意点

SQL

2005年02月10日

データ型の変更も、ALTER TABLE TABLE名 MODIFY〜を使用する。

<関連記事>
>SQL:Oracle:表(テーブル)定義を変更したい:列の桁数変更など

ここで注意点しなければならないのは、
例えば、「列A」をVARCHAR2からNUMBERにデータ型を変更するような時、
既に「列A」に”ABCDE”といった文字データが入っていると、
”ABCDE”は数値型には適合しないので、もちろんMODIFY時にエラーとなる。

こういう場合は、「列A」のデータをどうするか?という問題をクリアにしてから、
データの更新を行った上で、MODIFTする。

■例:データをNULLで初期化する場合(現状、列AはVARCHAR2(5))

UPDATE 表A SET 列A = NULL;
COMMIT;
ALTER TABLE 表A MODIFY(列A NUMBER(5));



<関連記事>
>SQL:Oracle:列名(カラム名)の変更:RENAME COLUMN
0 Comment  0 Trackback  Permalink