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

制約の名前がわからない場合、Oracleで非ヌル制約を削除するにはどうすればよいですか?

    alter table MYTABLE modify (MYCOLUMN null);
    

    Oracleでは、列にnull以外が指定されている場合、null以外の制約が自動的に作成されます。同様に、nullを許可するように列が変更されると、それらは自動的に削除されます。

    改訂された質問の明確化 :このソリューションは、「null以外」の列に対して作成された制約にのみ適用されます。名前を付けずに列定義で「主キー」またはチェック制約を指定すると、システムによって生成された制約の名前(および主キーのインデックス)が作成されます。そのような場合、それをドロップするには名前を知っている必要があります。 「nullではない」以外のすべての制約に名前を指定することで、シナリオを回避することをお勧めします。これらの制約の1つを一般的に削除する必要がある状況に陥った場合は、おそらくPL/SQLとデータ定義テーブルに頼る必要があります。



    1. ストアドプロシージャを使用する利点と欠点

    2. EBS11iおよびR12でFND_STATSを使用してスキーマ統計を収集する

    3. MySQL TEXT vs BLOB vs CLOB

    4. OracleSql開発者でExplainPlanを表示するにはどうすればよいですか?