Oracle:如何使用case来制定复杂约束

Rev*_*ous 4 oracle check-constraints

以下条件约束根本不起作用.是否有可能以一种有效的方式制定?

ALTER TABLE eni_trasc_voci_pwr_fatt
ADD CONSTRAINT tvp_constraint_1 CHECK (
CASE WHEN TVP_CODICE_ASSOGGETAMEN = '-' THEN tvp_regione IS NULL
END);
Run Code Online (Sandbox Code Playgroud)

int*_*000 5

请尝试以下方法:

ALTER TABLE eni_trasc_voci_pwr_fatt
ADD CONSTRAINT tvp_constraint_1 CHECK (
CASE WHEN TVP_CODICE_ASSOGGETAMEN = '-' THEN tvp_regione else null end IS NULL);
Run Code Online (Sandbox Code Playgroud)

  • 你是对的.但我的目的是描述一个完整的"案例何时" - 声明,因为问题中的一个是完全错误的. (2认同)