Oracle SQL(9)


Flashback Drop

  • oracle 10 gは、削除したテーブルを復元できるリカバリテクノロジーを提供し始めました.
  • DROP TABLEを使用して削除されたテーブルは、RECYCLEBINという特殊なオブジェクトにBIN$で始まる名前で格納されます.
  • Flashback Dropコマンド
    コマンド説明FLASHBACKTABLEテーブル名TOBEFORE DROP;削除したテーブルを「復元表示」RECYCLEBINRECYCLEBINオブジェクト情報照会PURGE RECYCLEBINRECYCLEBINオブジェクト情報削除DROP TABLEテーブル名PURGEテーブル完全削除(復元不可)
    FLASHBACK  TABLE dept_new TO BEFORE DROP;

    ALTER ADD

  • の既存のテーブルに新しいカラムを追加できます.
  • データはNULL値で格納されます.
  • DEFALUTオプションを設定することもできます.
  • -- 문법
    ALTER TABLE 테이블명
    ADD (컬럼명 데이터타입 [, 컬럼명 데이터타입]);
    
    ALTER TABLE emp04
    ADD (email varchar2(10), address varchar2(20));

    制約の追加


    既存のテーブルに制約を追加するには、ALTER TABLEコマンドを使用します.
  • NOT NULL制約を除き、残りの制約(PRIMARY KEY、UNIQUE、CHECK、FORIGHN KEY)はALTER TABLE ADD文、NOT NULL制約はALTER TABLE MODIFYを使用します.
  • ALTER TABLE ADD文を使用して制約を追加する構文は、表レベルの制約を設定する方法と同じであるため、columlevel方式のみのNOT NULL制約は使用できません.
  • ALTER TABLE 테이블명
    ADD [CONSTRAINT 제약조건명] 제약조건타입(컬럼명);
    
    ALTER TABLE scott_t3
    ADD CONSTRAINT scott_t3_num_pk PRIMARY KEY(NUM);
    
    ALTER TABLE 테이블명
    MODIFY (컬럼명 데이터타입 [CONSTRAINT 제약조건명] );
    
    ALTER TABLE scott_t3
    MODIFY ( NAME varchar2(10) NOT NULL);

    制約の削除

  • ALTER TABLE DROP文を使用して制約を削除し、CASCADEオプションを使用してすべての依存制約を同時に削除します.
  • デフォルトでは制約名を使用して制約を削除しますが、デフォルトキーとUNIQUEには制約名がなく、PRIMARY KEYとUNIQUEキーのみで削除できます.
  • ALTER TABLE 테이블명
    DROP PRIMARY KEY|UNIQUE(컬럼)|
    	 CONSTRAINT 제약조건명 [CASCADE];
         
    ALTER TABLE dept03
    DROP PRIMARY KEY;
    
    ALTER TABLE dept03
    DROP CONSTRAINT dept03_deptno_pk;
    
    --부모 테이블의 제약조건 삭제 시 자식 테이블의 FOREIGN KEY 제약조건을 연쇄적으로 삭제하기 위해 CASCADE 옵션을  사용한다.
    ALTER TABLE dept05
    DROP PRIMARY KEY CASCADE;
  • PRIMARY KEY、UNIQUEは、各制約を指定するか、または制約名を指定することによって消去することができる.
  • 残りの制約NOT NULL、CHECK、FORIDN KEY制約を削除する場合も、CONTRAINT制約名を指定して削除します.
  • ALTER MODIFY

  • 列の場合、データ型またはサイズ、DEFALUT値を変更できます.
  • すべての行の列の値がNULLまたはローなしの場合、数値および文字列の合計長を増減したり、データ型を変更したりできます.
  • DEFALUTの値を変更した場合は、変更後に入力したローにのみ適用されます.
  • -- 문법
    ALTER TABLE 테이블명
    MODIFY (컬럼명 데이터타입 [, 컬럼명 데이터타입]);
    
    ALTER TABLE emp04
    MODIFY (email varchar2(20));

    ALTER RENAME

  • コラムの改名命令語だ.
  • ALTER TABLE 테이블
    RENAME COLUMN 바꾸고 싶은 컬럼명 TO 바꿀 컬럼명;
    
    
    ALTER TABLE scott_t
    rename column address to addr;

    ALTER DROP


    値が存在するかどうかにかかわらず、
  • 列は無条件に削除されます.
  • は、複数のカラムを同時に削除できますが、少なくとも1つのカラムが存在する必要があります.
  • ALTER TABLE 테이블명
    DROP (컬럼명 [, 컬럼명]);
    
    ALTER TABLE emp04
    DROP (email);

    ALTER DISABLE/ENABLE

  • 制約をアクティブまたは無効にできます.
  • ALTER TABLE 테이블명
    DISABLE|ENABLE CONSTRAINT 제약조건명 [CASCADE];
    
    ALTER TABLE scott_t4
    DISABLE CONSTRAINT scott_t4_num_pk;
    
    ALTER TABLE scott_t4
    ENABLE CONSTRAINT scott_t4_num_pk;
  • CASCADEオプションを追加すると、その制約に関連するすべての制約が連続的に無効になります.