三流備忘録OracleのSQL PL/SQL 関数 ついての備忘録
表の作成
構文
CREATE TABLE スキーマ名.表名
(
列名1 データ型 [DEFAULT 規定値] [CONSTRAINT 制約名 制約]
[, 列名2 データ型 [DEFAULT 規定値] [CONSTRAINT 制約名 制約] ]
.....
[,列名n データ型 [DEFAULT 規定値] [CONSTRAINT 制約名 制約] ]
[,[CONSTRAINT 制約名 制約 (対象列名) ]]
);
制約の種類
| 制約 |
意味 |
| NOT NULL |
列にNULL値が入らない。 |
| UNIQUE |
値が一意である。 |
| PRYMARY KEY |
主キー制約。NOT NULLとUNIQUEの両方の制約を持つ。複合主キーにする場合には表レベルの制約にする。 |
| FOREIGN KEY |
外部キー制約。外部キーの値は、親表と同じかNULL値でなくてはならない。 |
| CHECK |
チェック制約。チェック制約には擬似列(CURRVAL・NEXTVAL・ROWNUM)、関数、副問い合わせは使用できない。 |
/******************************************************
例
******************************************************/
CREATE TABLE HOGE(
ID NUMBER(6) CONSTRAINT hoge_id PRIMARY KEY,
NAME VARCHAR2(30) CONSTRAINT hoge_name NOT NULL,
BIRTH DATE,
DEPTID NUMBER(4),
HOGE NUMBER(5) CONSTRAINT hoge_chk CHECK( HOGE > 10 ),
CONSTRAINT hoge_fk FOREING KEY (DEPTID)
REFERENCES DEPT_MST(DEPTID)
);
表の変更
ALTER TABLE を使用する。
列追加、削除。(削除は8I以降だったきがします・・・)
既存の列の変更。
ディフォルト値の設定。
表の削除
構文
DROP TABLE 表名;