|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Invité régulier
![]() Inscription : janvier 2009 Messages : 16 ![]() |
Bonsoir à tous,
voici mon souci : Je cherche à empêcher qu'un numéro de facture soit utilisé plus d'une fois pour une même année. Mon code est donc composé d'une fonction et d'une contrainte check: FONCTION : Code :
Code :
ALTER TABLE Facture ADD CONSTRAINT UniqueFNumberConstraint CHECK (dbo.checkFNumber(numero, date_facture) = 1) Code :
Citation:
Merci d'avance
|
|||||
|
|
00
|
|
|
#2 | ||||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 658 ![]() |
Bonjour,
Il aurait fallu remplacer par < 2, mais le mieux reste de mettre une contrainte d'unicité, qui est faite exactement pour cela. Vous aurez donc besoin d'une colonne calculée qui vous retourne l'année : Code :
Code :
@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||||
|
20
|
|
|
#3 | |
|
Invité régulier
![]() Inscription : janvier 2009 Messages : 16 ![]() |
Citation:
En tout cas merci, cette autre solution fonctionne à merveille. |
|
|
|
00
|
|
|
#4 | ||||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 658 ![]() |
En fait, < 2 ne fonctionnera pas non plus.
Donc en supposant que les contraintes d'unicité n'existent pas, il aurait mieux valu écrire : Code :
Code :
@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||||
|
00
|
Copyright © 2000-2012 - www.developpez.com