Création d'une table

Le
EmanuelL
Bonjour à Tous,

Je suis un peu coinçé, j'aimerais créer une table selon les critères
ci-dessous. Comment faire? Je pensais utiliser UNIQUE ou une clé
primaire composée avec Client_ID et Annee_Exec. :-Z

MaTable
- No_Ligne int IDENTITY(1,1) NOT NULL
- Client_ID decimal(10,0) NOT NULL FOREIGN KEY
- Annee_Exec numeric(4,0) NOT NULL
-

Le couple Client_ID et Annee_Exec doit être unique, donc dans MaTable
je pourais avoir:

No_Ligne Client_ID Annee_Exec
1 10000 2009
2 10000 2010
3 10001 2010
4 10002 2009


Et non:
No_Ligne Client_ID Annee_Exec
1 10000 2009
2 10000 2009
3 10001 2010
4 10001 2010


Merci d'avance.

--

*!* --
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice
Le #20094271
Bonjour,

Je suis un peu coinçé, j'aimerais créer une table selon les critères
ci-dessous. Comment faire? Je pensais utiliser UNIQUE ou une clé primaire
composée avec Client_ID et Annee_Exec. :-Z



Le problème étant la syntaxe ? Commencer toujours par consulter la doc, par
exemple :
http://msdn.microsoft.com/fr-fr/library/ms177420.aspx (Création et
modification des contraintes UNIQUE).

Sinon expliciter un peu le problème exact...

--
Patrice
OlivierH
Le #20094491
Salut Emanuel

Peux tu donner plus d'infos, car j'ai pas compris au niveau de client_id
ce que tu attends.

Olivier,


EmanuelL a écrit :
Bonjour à Tous,

Je suis un peu coinçé, j'aimerais créer une table selon les critères
ci-dessous. Comment faire? Je pensais utiliser UNIQUE ou une clé
primaire composée avec Client_ID et Annee_Exec. :-Z

MaTable
- No_Ligne int IDENTITY(1,1) NOT NULL
- Client_ID decimal(10,0) NOT NULL FOREIGN KEY
- Annee_Exec numeric(4,0) NOT NULL
- ...

Le couple Client_ID et Annee_Exec doit être unique, donc dans MaTable
je pourais avoir:

No_Ligne Client_ID Annee_Exec
1 10000 2009
2 10000 2010
3 10001 2010
4 10002 2009
...

Et non:
No_Ligne Client_ID Annee_Exec
1 10000 2009
2 10000 2009
3 10001 2010
4 10001 2010
...

Merci d'avance.



EmanuelL
Le #20095641
Patrice et Olivier,

Merci des vos réponses.

Je cherche l'unicité des colonnes Client_ID et Annee_Exec;
un client ne peut avoir qu'une seule année (Annee_Exec) dans la table
d'où UNIQUE(Client_ID, Annee_Exec).

ça l'air de fonctionner.

CREATE TABLE ActiviteCli(
Ligne_No int IDENTITY(1,1) NOT NULL,
Client_ID decimal(10,0) NOT NULL,
Annee_Exec numeric(4,0) NOT NULL,
Commentaire varchar (max) NULL
CONSTRAINT PK_ActiviteCli_Ligne_No
PRIMARY KEY CLUSTERED(Ligne_No ASC)
);
GO

ALTER TABLE ActiviteCli
WITH CHECK ADD CONSTRAINT FK_Client_Client_ID_ACTI
FOREIGN KEY(Client_ID)
REFERENCES Client (Client_ID);
GO

ALTER TABLE ActiviteCli
CHECK CONSTRAINT FK_Client_Client_ID_ACTI;
GO

ALTER TABLE ActiviteCli
ADD CONSTRAINT Client_ID_Annee_Exec UNIQUE(Client_ID, Annee_Exec);
GO

A+ ;-)


EmanuelL vient de nous annoncer :
Bonjour à Tous,

Je suis un peu coinçé, j'aimerais créer une table selon les critères
ci-dessous. Comment faire? Je pensais utiliser UNIQUE ou une clé primaire
composée avec Client_ID et Annee_Exec. :-Z

MaTable
- No_Ligne int IDENTITY(1,1) NOT NULL
- Client_ID decimal(10,0) NOT NULL FOREIGN KEY
- Annee_Exec numeric(4,0) NOT NULL
- ...

Le couple Client_ID et Annee_Exec doit être unique, donc dans MaTable je
pourais avoir:

No_Ligne Client_ID Annee_Exec
1 10000 2009
2 10000 2010
3 10001 2010
4 10002 2009
...

Et non:
No_Ligne Client_ID Annee_Exec
1 10000 2009
2 10000 2009
3 10001 2010
4 10001 2010
...

Merci d'avance.



--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
Publicité
Poster une réponse
Anonyme