Ajout de contrainte dans une table déjà créée
cfg
-
cfg123 -
cfg123 -
Bonjour,
Je suis nouveau en SQL SERVER et j'ai besoin d'aide
En effet, après avoir créer mes tables
[dbo].[ItemsItemDetails]
avec ce code: CREATE TABLE ItemsItemDetails (
ItemID INT PRIMARY KEY ( ItemID ) IDENTITY (1,1),
ItemName VARCHAR (50),
ItemDescription VARCHAR (200) NOT NULL,
QuantityInHand INT CHECK ( QuantityInHand > 0 ) ,
UnitPrice MONEY CHECK ( UnitPrice > 0 ),
ReorderQuantity INT CHECK ( ReorderQuantity > 0 ),
ReorderLevel AS (QuantityInHand - ReorderQuantity )
)
et
[dbo].[SupplierSupplierDetails] avec ce code: CREATE TABLE SupplierSupplierDetails(
SupplierID INT PRIMARY KEY ( SupplierID ) IDENTITY(1,1),
FirstName VARCHAR (30),
LastName VARCHAR (30),
Address VARCHAR (200),
Country VARCHAR (30),
Phone CHAR(12) NOT NULL CHECK ( Phone LIKE '[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9]')
)
Maintenant je voudrais ajouter la contrainte avec ce code
alter table ItemsItemDetails
add constraint pk_SupplierID
foreign key references SupplierSupplierDetails(SupplierID);
Et je reçois ce message d'erreur
Msg 8139, Niveau 16, État 0, Ligne 1
Le nombre de colonnes de référence dans la clé étrangère diffère du nombre de colonnes référencées, table 'ItemsItemDetails'.
Je suis nouveau en SQL SERVER et j'ai besoin d'aide
En effet, après avoir créer mes tables
[dbo].[ItemsItemDetails]
avec ce code: CREATE TABLE ItemsItemDetails (
ItemID INT PRIMARY KEY ( ItemID ) IDENTITY (1,1),
ItemName VARCHAR (50),
ItemDescription VARCHAR (200) NOT NULL,
QuantityInHand INT CHECK ( QuantityInHand > 0 ) ,
UnitPrice MONEY CHECK ( UnitPrice > 0 ),
ReorderQuantity INT CHECK ( ReorderQuantity > 0 ),
ReorderLevel AS (QuantityInHand - ReorderQuantity )
)
et
[dbo].[SupplierSupplierDetails] avec ce code: CREATE TABLE SupplierSupplierDetails(
SupplierID INT PRIMARY KEY ( SupplierID ) IDENTITY(1,1),
FirstName VARCHAR (30),
LastName VARCHAR (30),
Address VARCHAR (200),
Country VARCHAR (30),
Phone CHAR(12) NOT NULL CHECK ( Phone LIKE '[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9]')
)
Maintenant je voudrais ajouter la contrainte avec ce code
alter table ItemsItemDetails
add constraint pk_SupplierID
foreign key references SupplierSupplierDetails(SupplierID);
Et je reçois ce message d'erreur
Msg 8139, Niveau 16, État 0, Ligne 1
Le nombre de colonnes de référence dans la clé étrangère diffère du nombre de colonnes référencées, table 'ItemsItemDetails'.
A voir également:
- Impossible d'ajouter des contraintes d'index externe
- Chkdsk disque dur externe - Guide
- Index téléphonique - Guide
- Impossible d'ajouter un ami sur facebook - Guide
- Ram externe - Forum Matériel & Système
- Je n'arrive pas à ajouter un ami sur Facebook ✓ - Forum Facebook
J'y suis toujours. Vous pouvez me proposer une solution s'il vous plait?
Ce paramétre contraint l'existence de la clé SupplierSupplierDetails(SupplierID) ou SupplierSupplierDetails(SupplierID) = pe_choisir_un_champ_ici.