CREATE TABLE S_COM.T_FACTURE_FCT
(FCT_NUMERO                 INTEGER,
 FCT_MONTANT_TOTAL          DECIMAL(16,2),
 FCT_DATE_EMISSION          DATE,
 FCT_DATE_LIMITE_PAIEMENT   DATE,
 CONSTRAINT CK_FCT_DLM 
    CHECK (FCT_DATE_LIMITE_PAIEMENT <= FCT_DATE_EMISSION + 30 DAY),
 FCT_MODE_PAIEMENT          VARCHAR(16) 
    CHECK(VALUE IN ('CHEQUE', 'ESPECE', 'CARTE BANCAIRE', 'VIREMENT')),
 CONSTRAINT CK_FCT_MDP 
    CHECK (   ( FCT_MODE_PAIEMENT = 'ESPECE' 
                AND FCT_MONTANT_TOTAL <= 3000 )
           OR ( FCT_MODE_PAIEMENT = 'CARTE BANCAIRE' 
                AND FCT_MONTANT_TOTAL > 15 )));

/*

--> syntaxe pour SQL Server

CREATE TABLE S_COM.T_FACTURE_FCT
(FCT_NUMERO                 INTEGER,
 FCT_MONTANT_TOTAL          DECIMAL(16,2),
 FCT_DATE_EMISSION          DATE,
 FCT_DATE_LIMITE_PAIEMENT   DATE,
 CONSTRAINT CK_FCT_DLM 
    CHECK (FCT_DATE_LIMITE_PAIEMENT <= DATEADD(day, 30, FCT_DATE_EMISSION)),
 FCT_MODE_PAIEMENT          VARCHAR(16) 
    CHECK(FCT_MODE_PAIEMENT IN ('CHEQUE', 'ESPECE', 'CARTE BANCAIRE', 'VIREMENT')),
 CONSTRAINT CK_FCT_MDP 
    CHECK (   ( FCT_MODE_PAIEMENT = 'ESPECE' 
                AND FCT_MONTANT_TOTAL <= 3000 )
           OR ( FCT_MODE_PAIEMENT = 'CARTE BANCAIRE' 
                AND FCT_MONTANT_TOTAL > 15 )));

*/