/ / Comment ajouter une clé primaire composite à une table - SQL, SQL Server 2005, clés étrangères, clé primaire

Comment ajouter une clé primaire composite à une table - sql, sql-server-2005, clés étrangères, clé primaire

create table d(id numeric(1), code varchar(2))

Après avoir créé le tableau ci-dessus, comment puis-je ajouter une clé primaire composite sur les deux champs et également une clé étrangère?

Réponses:

25 pour la réponse № 1

Dans Oracle, vous pouvez faire ceci:

create table D (
ID numeric(1),
CODE varchar(2),
constraint PK_D primary key (ID, CODE)
);

29 pour la réponse № 2

alter table d add constraint pkc_Name primary key (id, code)

devrait le faire. Il existe de nombreuses options pour une clé / index primaire de base en fonction de la base de données avec laquelle vous travaillez.


6 pour la réponse № 3

le ALTER TABLE déclaration présentée par Chris devrait fonctionner, mais vous devez d'abord déclarer les colonnes NOT NULL. Toutes les parties d'une clé primaire doivent être NOT NULL.


4 pour la réponse № 4

Vous n'avez pas besoin de créer la table en premier, puis d'ajouter les clés dans les étapes suivantes. Vous pouvez ajouter à la fois la clé primaire et la clé étrangère lors de la création de la table:

Cet exemple suppose l'existence d'une table (Codes) que nous souhaitons référencer avec notre clé étrangère.

CREATE TABLE d (
id [numeric](1),
code [varchar](2),
PRIMARY KEY (id, code),
CONSTRAINT fk_d_codes FOREIGN KEY (code) REFERENCES Codes (code)
)

Si vous n'avez pas de table que nous pouvons référencer, ajoutez-en une comme celle-ci pour que l'exemple fonctionne:

CREATE TABLE Codes (
Code [varchar](2) PRIMARY KEY
)

REMARQUE: vous devez avoir une table à référencer avant de créer la clé étrangère.


2 pour la réponse № 5

Si vous utilisez Sql Server Management Studio Designer, sélectionnez simplement les deux lignes (Maj + clic) et Définir la clé primaire.

entrer la description de l'image ici