パラメータ名を格納するテーブルがあります
CREATE TABLE PARAM_NAMES
{
PARAM_TYPE_ID" NUMBER(*,0) NOT NULL ENABLE,
"PARAM_NAME" VARCHAR2(64 BYTE) NOT NULL ENABLE,
"DEFAULT_VALUE" VARCHAR2(256 BYTE),
CONSTRAINT "PARAMS_UK1" UNIQUE ("PARAM_TYPE_ID")
//PARAM_TYPE ID is the primary key
}
パラメータ値を格納する他のテーブルがありますが、
CREATE TABLE PARAM_VALUES"
{ "ID" NUMBER(*,0) NOT NULL ENABLE,
"PARAM_TYPE_ID" NUMBER(*,0) NOT NULL ENABLE,
"PARAM_VALUE" VARCHAR2(256 BYTE),
CONSTRAINT "PARAM_VALUES_PK" PRIMARY KEY ("ID", "PARAM_TYPE_ID")
}
param Id を持つ特定のパラメーター名について、ParamId を使用してパラメーター値を他のテーブルに格納しています。
今、私は JDBC を使用してテーブルに値を取得および設定しています。今、私はこのようなことをしたいと思っています。
JDBC からパラメーター値を挿入するときに、paramvalue が null または空の場合は DEFAULT_VALUE を挿入します。つまり、誰かが JDBC から null 値または空の値を挿入した場合、デフォルト値を PARAM_NAMES テーブルから PARAM_VALUES テーブル PARAM_VALUE 列にコピーします。または制約レベル?私は挿入する前に Java で実行できることを知っています。
PARAM_TYPE_ID PARAM_NAME DEFAULT_VALUE
1 ABC TEST1
2 CDE TEST2
3 FGH TEST3
PARAM_TYPE_ID PARAM_VALUE
1 TEST4 //Since not null
2 TEST2 //since null default value is copied
3 TEST3 //since null default value is copied