2011-09-23 1 views

Répondre

5

No.

create table X 
(
    c int primary key 
) 

create table Y 
(
    c bit references X 
) 

Retours:

Msg 1778, Level 16, State 0, Line 1
Column 'X.c' is not the same data type as referencing column 'Y.c' in foreign key 'FK__Y__c__34C8D9D1'. Msg 1750, Level 16, State 0, Line 1
Could not create constraint. See previous errors.

Voir aussi the relevant section in BOL:

  • La clause REFERENCES d'une contrainte au niveau des colonnes peut FOREIGN KEY liste une seule colonne de référence. Cette colonne doit avoir le même type de données que la colonne sur laquelle la contrainte est définie.

  • La REFERENCES clause d'une contrainte de niveau table FOREIGN KEY doit ont le même nombre de colonnes de référence que le nombre de colonnes dans la liste des colonnes de contrainte. Le type de données de chaque colonne de référence doit également être identique à la colonne correspondante dans la liste des colonnes.