|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre chevronné
![]() ![]() |
Salut
J'ai une table continents(id, nom) et je veux créer une table payes(continent, id, nom) avec la contrainte que les données du champ payes.continent soit dans la table continents (je ne veux pas me limiter à "foreign key"!!!). J'ai fait ça (lors de la création de la table payes)... Code :
continent int CHECK (continent IN(SELECT idcontinent FROM tcontinent)) Code :
Les sous-requêtes ne sont pas autorisées dans ce contexte. Seules sont permises les expressions scalaires. Merci d'avance.
__________________
Le monde est trop bien programmé pour être l’œuvre du hasard… |
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 935 ![]() |
1) pour des raisons de performances, SQL Server n'accepte pas de contraintes de table dont les données sont externe à la table.
2) vous pouvez cependant contourner ce problème en mettant une UDF qui fera la même chose. Exemple : Code :
Code :
... continent int CHECK (dbo.F_CHECH_CONTINENT (idcontinent) = 1) A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||
|
00
|
|
|
#3 |
|
Membre chevronné
![]() ![]() |
Salut
Merci pour la réponse . Je crois comprendre pourquoi access avait du mal évaluer une contrainte du genre Code :
(2>ALL(SELECT count(ideleve) FROM ligneclasse GROUP BY idannee)) Au fait vous avez attendu juste que j'achète la 2ème édition de SLQ pour faire sortir la 3ème Encore une fois
__________________
Le monde est trop bien programmé pour être l’œuvre du hasard… |
|
00
|
Copyright © 2000-2012 - www.developpez.com