OVH Cloud OVH Cloud

[VBA][SQL] Définir un clé ... unique ?

3 réponses
Avatar
Stéphane Santon
Bonjour,

Je crée une table de données comme ceci :

loConn.Execute _
"CREATE TABLE Enregistrements ( " & _
" DateHeure DATETIME NOT NULL, " & _
" NoPoste INTEGER NOT NULL, " & _
" NoEvent INTEGER NOT NULL, " & _
" Valeur DOUBLE NOT NULL, " & _
" Qualite INTEGER)"

Que rajouter dans la requête pour que l'association
(DateHeure, NoPoste, NoEvent) soit unique dans la table ?

Merci

--
** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.

Cordialement, Stéphane *** http://www.team-santonum.com
Loisirs, nature, arts, technologie : accueil en Charente-Maritime

3 réponses

Avatar
Eric
Stéphane Santon écrivait
news::

Bonjour,

Je crée une table de données comme ceci :

loConn.Execute _
"CREATE TABLE Enregistrements ( " & _
" DateHeure DATETIME NOT NULL, " & _
" NoPoste INTEGER NOT NULL, " & _
" NoEvent INTEGER NOT NULL, " & _
" Valeur DOUBLE NOT NULL, " & _
" Qualite INTEGER)"

Que rajouter dans la requête pour que l'association
(DateHeure, NoPoste, NoEvent) soit unique dans la table ?

Merci



Bonjour Stéphane

Et comme ceci :

"CREATE TABLE Enregistrements ( " & _
" DateHeure DATETIME NOT NULL, " & _
" NoPoste INTEGER NOT NULL, " & _
" NoEvent INTEGER NOT NULL, " & _
" Valeur DOUBLE NOT NULL, " & _
" Qualite INTEGER," & _
" CONSTRAINT TaContrainte " & _
" UNIQUE (DateHeure , NoPoste , NoEvent ));"

Ca marche ?

Eric

Avatar
Pierre Fauconnier
Bonsoir

CREATE TABLE T_CLIENT
(CLI_NOM CHAR(32) NOT NULL,
CLI_PRENOM VARCHAR(32) NOT NULL,
CONSTRAINT PK_CLIENT PRIMARY KEY (CLI_NOM, CLI_PRENOM))

pour créer une table avec une clé primaire portant sur les champs cli_nom et
cli_prenom

Exemple tiré de l'excellent site http://sqlpro.developpez.com

La page http://sqlpro.developpez.com/SQL_AZ_7b.html reprend cet exemple, et
bien d'autres

Cela convient-il?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Stéphane Santon" a écrit dans le message de
news:
Bonjour,

Je crée une table de données comme ceci :

loConn.Execute _
"CREATE TABLE Enregistrements ( " & _
" DateHeure DATETIME NOT NULL, " & _
" NoPoste INTEGER NOT NULL, " & _
" NoEvent INTEGER NOT NULL, " & _
" Valeur DOUBLE NOT NULL, " & _
" Qualite INTEGER)"

Que rajouter dans la requête pour que l'association
(DateHeure, NoPoste, NoEvent) soit unique dans la table ?

Merci

--
** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.

Cordialement, Stéphane *** http://www.team-santonum.com
Loisirs, nature, arts, technologie : accueil en Charente-Maritime


Avatar
Stéphane Santon
Bonjour,

Marche impecc merci ! :-)

En lançant un second INSERT d'une table complète, les éléments ne sont
pas dupliqués, et si je ne change qu'un élément dans cette table, il est
le seul à être inséré.

Je ne connais pas assez les SGBD pour savoir l'intérêt de PRIMARY KEY
par rapport à UNIQUE.

CREATE TABLE T_CLIENT
(CLI_NOM CHAR(32) NOT NULL,
CLI_PRENOM VARCHAR(32) NOT NULL,
CONSTRAINT PK_CLIENT PRIMARY KEY (CLI_NOM, CLI_PRENOM))

pour créer une table avec une clé primaire portant sur les champs cli_nom et
cli_prenom

Exemple tiré de l'excellent site http://sqlpro.developpez.com
La page http://sqlpro.developpez.com/SQL_AZ_7b.html reprend cet exemple, et
bien d'autres

Cela convient-il?

"Stéphane Santon" a écrit dans le message de
Que rajouter dans la requête pour que l'association
(DateHeure, NoPoste, NoEvent) soit unique dans la table ?



--
** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.

Cordialement, Stéphane *** http://www.team-santonum.com
Loisirs, nature, arts, technologie : accueil en Charente-Maritime