ホームページ >よくある問題 >Oracleで列の型を変更する方法

Oracleで列の型を変更する方法

小老鼠
小老鼠オリジナル
2023-07-11 15:38:524359ブラウズ

Oracle の列タイプを変更する方法は次のとおりです: 1. フィールドにデータがない場合、または変更する新しいタイプが元のタイプと互換性がある場合は、フィールドを直接変更できます; 2. フィールドにデータがある場合新しい型を使用して変更します。元の型に互換性がない場合、転送のために新しいフィールドを間接的に作成する必要があります。

Oracleで列の型を変更する方法

このチュートリアルの動作環境: Windows 7 システム、Laravel バージョン 5.7、Dell G3 コンピューター。

Oracle で列の型を変更するにはどうすればよいですか?

1. フィールド データが空であると仮定すると、どのフィールド タイプが変更されても、直接実行できます:

alter table tb modify (name nvarchar2(20));

2 . フィールドにデータがあると仮定して、それを nvarchar2(20) に変更して直接実行します:

alter table tbmodify (name nvarchar2(20));

3。フィールドにデータがあると仮定し、varchar2(40) を実行すると、「ORA-01439: データ型を変更するには、変更する列が空である必要があります。」というポップアップが表示されます。この場合、次のようになります。この問題を解決するには、次のメソッドを使用する必要があります:

/*Modify 元のフィールド名は name_tmp*/

alter table tb rename カラム名を name_tmp;

/*Add元のフィールド名と同じ名前のフィールド名*/

alter table tb add name varchar2(40);

/*元のフィールド名_tmp データを追加されたフィールド名に更新します* /

update tb set name=trim(name_tmp);

/*更新後、元のフィールド name_tmp を削除*/

alter table tb drop column name_tmp;

概要:

1. フィールドにデータがない場合、またはフィールドを変更する必要がある場合 新しい型が元の型と互換性がある場合は、直接変更できます。

2. フィールドにデータがあり、変更する新しい型が元の型と互換性がない場合、転送用に新しいフィールドを間接的に作成します。

以上がOracleで列の型を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。