sql >> データベース >  >> RDS >> Oracle

データが含まれているときに列タイプを数値からvarchar2に変更するOracleSQL

    create table temp_uda1 (test1 integer);
    insert into temp_uda1 values (1);
    
    alter table temp_uda1 add (test1_new varchar2(3));
    
    update temp_uda1 
       set test1_new = to_char(test1);
    
    alter table temp_uda1 drop column test1 cascade constraints;
    alter table temp_uda1 rename column test1_new to test1;
    

    列にインデックスがあった場合は、それを再作成する必要があります。

    古い列に999より大きい数値がある場合、更新は失敗することに注意してください。失敗する場合は、varcharの最大値を調整する必要があります。 列



    1. APPLSYSPUBスキーマ

    2. カーソルを使用せずに各行のSQL呼び出しストアドプロシージャ

    3. SQLServerの「時間」ストレージサイズを理解する

    4. Oracle.DataAccess.Client.OracleException ORA-03135:接続が連絡先を失いました