試してみた
適当にH2databaseを使用した
BBBB_CODEテーブルがマスターテーブル,AAAAが対象のテーブルとしたらこんな感じで定義
- BBBB_CODEテーブルの定義
CREATE TABLE BBBB_CODE(
BBBB_ID INT NOT NULL
,BBBB_CODE VARCHAR(20) NOT NULL
,BBBB_CODE_NAME VARCHAR(50) NOT NULL
,DESCRIPTION VARCHAR(50) NULL
,PRIMARY KEY (BBBB_ID)
);
- BBBB_CODEにレコードをインサート
INSERT INTO BBBB_CODE(BBBB_ID , BBBB_CODE , BBBB_CODE_NAME )values(1,'0000','未入力');
- AAAAテーブルの定義
CREATE TABLE AAAA(
AAAA_ID INT NOT NULL
,BBBB_ID INT NOT NULL DEFAULT (SELECT BBBB_ID FROM BBBB_CODE WHERE BBBB_CODE.BBBB_CODE_NAME = '未入力')
,DESCRIPTION VARCHAR(50) NULL
,PRIMARY KEY (AAAA_ID)
);
インサートしてみる
INSERT INTO AAAA (AAAA_ID)values(1);
で、中身を確認
select * FROM AAAA;
AAAA_ID BBBB_ID DESCRIPTION
1 1 null
(1 行, 2 ms)
入ってる