試してみた

適当に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)

入ってる