【Oracle】INSERT で登録する【SQL】

OracleのINSERT(登録)

構文

Oralceでデータを登録するには「INSERT~VALUES~」を使います。

--テーブルへ値を登録する
INSERT INTO {テーブル} (列1,列2,列3・・・)
 VALUES (値1,値2,値3・・・);

 

例1. 列を指定するINSERTパターン

--テーブルへ値を登録する
INSERT INTO emp (emp_no, emp_name, depno)
 VALUES ('A001', '山田太郎', 'TO1');

ここでは3つの列(emp_no, emp_name, depno)にデータを登録しました。それ以外の列には何もしていなためデータは登録されません。

例2. 列を省略するINSERTパターン

--テーブルへ値を登録する
INSERT INTO emp
 VALUES ('A001', '山田太郎', 'TO1', '03-0000-0000', 1, NULL);

ここではテーブルの登録先の列名を指定せずに省略しています。このように列名を省略する場合はすべての列にデータをセットする必要があります。よってVALUESの後のカッコにはすべての列のデータを順番にセットします。

例3. INSERT SELECTパターン

SELECTした結果をINSERTすることもできます。「INSERT SELECT」といいます。

--e_tableのe_no,e_name,e_dep列をempのemp_no,emp_name,depnoへINSERTする
INSERT INTO emp(emp_no, emp_name, depno)
 SELECT e_no,e_name,e_dep FROM e_table

SELECTした結果をINSERTするには列を指定します。ここでは、「e_table」のSELECT結果を列を指定して「emp」へINSERTしました。

「INSERT SELECT」には別の方法もあります。詳細はこちらを参照してください。

INSERTするパターンとして3つとりあげました。

以上、OracleのINSERTのパターンでした。

コメント