Oracle の列タイプを変更する方法は次のとおりです: 1. フィールドにデータがない場合、または変更する新しいタイプが元のタイプと互換性がある場合は、フィールドを直接変更できます; 2. フィールドにデータがある場合新しい型を使用して変更します。元の型に互換性がない場合、転送のために新しいフィールドを間接的に作成する必要があります。
このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。