挿入値の選択
SELECT ステートメントの FROM 文節に INSERT ステートメントを指定すると、挿入される行の値を取り出せます。
1 つ以上の行を表に挿入する際に、挿入操作の結果行を選択できます。これらの行には以下の値のうちの 1 つが入ります。
- 識別列、ROWID 列、または行変更タイム・スタンプ列などの、生成された列の値
- 列で使用されたデフォルト値
- 複数行挿入操作で挿入されたすべての行のすべての値
- 挿入前トリガーによって変更された値
以下の例は、次のように定義されている表を使用します。
CREATE TABLE EMPSAMP
(EMPNO INTEGER GENERATED ALWAYS AS IDENTITY,
NAME CHAR(30),
SALARY DECIMAL(10,2),
DEPTNO SMALLINT,
LEVEL CHAR(30),
HIRETYPE VARCHAR(30) NOT NULL DEFAULT 'New Employee',
HIREDATE DATE NOT NULL WITH DEFAULT)
新入社員に関する行を挿入し、EMPNO、HIRETYPE、および HIREDATE で使用された値を参照するには、次のステートメントを使用します。
SELECT EMPNO, HIRETYPE, HIREDATE
FROM FINAL TABLE ( INSERT INTO EMPSAMP (NAME, SALARY, DEPTNO, LEVEL)
VALUES('Mary Smith', 35000.00, 11, 'Associate'))
戻り値は、EMPNO の場合は生成された値、HIRETYPE の場合は 'New Employee'、および HIREDATE の場合は現在日付になります。