|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Fabian MatheseAdministrateur de base de données Inscription : juillet 2007 Messages : 190 ![]() |
Bonjour,
J'ai un soucis relationnel avec sql server 2005, En effet j'ai des tables de ce style-ci : Adresse (int numadresse, char......) Client (int numclient, adresselivraison, adresseFacture) je veux créer une relation entre Client et Adresse pour l'adresse de livraison, jusque la aucun soucis je veux créer une deuxième relation entre client et adresse pour l'adresse de facture, toujours aucun soucis La ou les soucis commence, je veux créer mes relations de la manière suivante : Code :
L'erreur est "connue" (et ce n'est malheureusement pas un bug), on ne peut établir 2 cascades sur la même table en sql server (c'est ce que j'ai trouvé sur le net). Je vais donc surement essayé de me débrouiller avec un trigger update... chiant mais bon. Ma première question serait donc, est-ce que ce que j'ai trouvé sur le net est bien correct? Aucun moyen de contourner ce problème a part créer un trigger, et c'est un mécanisme existant partout sauf en sql server. Deuxième question qui m'interresse plus, pour ceux ayant testé Sql server 2008, Microsoft a t il changé son fusil d'épaule a ce niveau la en 2008 ou ne peut on toujours pas le faire? Merci a vous pour vos réponses
__________________
Fabian M. - DBA Sql server 2008R2. Apprenti Admin Système 2008 R2 Développeur SSRS, SQL Développement C# en hobby |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Mettre les IR en DELETE CASCADE est dangereux :
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 actif
![]() Fabian MatheseAdministrateur de base de données Inscription : juillet 2007 Messages : 190 ![]() |
en fait le delete, je l'ai mis en no action.
C'est l'update surtout qui m'interresse, je dois renuméroter des clés primaire.... je n'aime pas trop ça mais je n'ai pas le choix. Je n'ai pas envie de passer partout ou mes clés étrangères existent donc un update cascade m'arrangeait bien dans cette situation. (Ormis ce cas particulier, j'évite que l'on change les clés primaire) Je suppose que je dois donc créer ma clé étrangère sur la première occurence et un trigger pour la deuxième occurence? Je vais regarder sur le net si je trouve pas demain, mais si par hasard qq'un avait le script rapidement sous la main, quel genre de trigger serait adapté a ce genre de scénario? un instead update semble déconseillé mais un after update semble ne pas fonctionner. (j'avoue que un set null m'aurait bien arrangé mais je ne peux pas non plus en mettre 2 sur la même table)
__________________
Fabian M. - DBA Sql server 2008R2. Apprenti Admin Système 2008 R2 Développeur SSRS, SQL Développement C# en hobby |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com