begin process at 2010 02 10 06:16:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Divers

 > 

problème récupération de la liste des relations entre deux tables


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème récupération de la liste des relations entre deux tables

jeudi 7 août 2008 à 10:35:54 | problème récupération de la liste des relations entre deux tables

edge_man

Bonjour,

dans une application que je suis entrain de développer, j'ai besoin de récupérer la liste des relations entre les tables d'une base de données sql server.
Pour ce faire, j'utilise les classes 'Table', 'TableCollection' et les champs 'ForeignKeys'(classe 'Table'), 'referencedTable'(classe 'Table') et 'fkColumn' (classe 'ForeignKeyColumn').

(Tout ces éléments étant présent dans la librairie 'Microsoft.SqlServer.Management.Smo').

Pour cela pas de problèmes, je récupère toutes les relations correctement. Le problème, vient en fait que certaines relations dans ma base de données sont traitées par des Triggers. Et là ça se corse sérieusement. Il y a bien sur le champs 'Triggers' (classe 'Table'), mais dans les propriétés de celui-ci, je ne peux récupérer que le nom. Or je voudrais pouvoir faire comme précédement, et donc récupérer, la table sur lequel agit le trigger. Mais à ma connaissance, cet info n'est stockée que dans le texte du trigger (le champs 'textBody' je crois), et n'est donc pas exploitable.

Ma question est donc, y a-t-il un moyen de récupérer le nom de la table sur lequel agit un trigger d'une autre façon?

J'utilise sql server 2005, visual studio 2008, en C# avec le framework . NET 3.5.

Merci d'avance.
jeudi 21 août 2008 à 15:55:40 | Re : problème récupération de la liste des relations entre deux tables

SQLpro

Tout d'abord le terme "relation" est toptalement inaproprié. Il n'y a pas de relations entre les tables, les relation étant un objet mathématique proche de la notion de table. En revanche il existe des tables liées par des mécanismes d'intégrité référentielles dits "déclaratif" lorsque ce sont des contraintes de clefs étrangères. Lorsque l'on utilse des déclencheurs, alors on parle d'intégrité référentielle fonctionnelle.

Ma question est donc, y a-t-il un moyen de récupérer le nom de la table sur lequel agit un trigger d'une autre façon?

Non compte tenu de la complexité possible du code. Et c'est d'ailleurs assez mauvais que de gérer ses intégrités référentielles sous forme de déclencheur, sachant que le déclencheur rest l'outil qui est le plux couteux en terme de ressources de traitement de tous niveaux puisqu'il participe à la transaction.

A +

Frédéric BROUARD - SQLpro - MVP SQL Server
Spécialiste SQL, SGBDR, modéles de données
SQL & SGBDR  http://sqlpro.developpez.com/
Expert SQL Server : http://www.sqlspot.com
audits - optimisation - tuning - formatio


Cette discussion est classée dans : problème, récupérer, table, classe, relations


Répondre à ce message

Sujets en rapport avec ce message

problème avec une table [ par lenneth666 ] Voila je vous explique mon problème.Dans une table appelé cour, la clé primaire cours_id est un entier qui s'incrémente automatiquement.Le problème c' Problème de requête à double jointure ... HELP ! [ par vladam ] Hello,Voici mon problème.J'ai une table "Table_3" avec 3 champsle premier ID numériquele deuxième ID2 numériquele troixième ID3 numériquej'ai une seco problème avec une table [ par norman bates ] Bonjour tout le monde j'ai un soucis voila j'ai fais mon site d'ecommerce sur mon pc en utilisant une base mysql et en php mais gros couac, le serve problème replication [ par overider ] bonjour a tous     j'ai un problème lors d'une réplication entre deux gros serveurs. une table ou on effectue  beucoup d'insert et delete se verole to Problème Requête SQL INSERT INTO sous access [ par bonnaud ] Bonjour,J'ai un problème avec une requête INSERT INTO.En fait je veux insérer dans une BDD des champs d'une autre table. Le problème qu'en j'insère ce Problème extraire une ligne d'une table [ par bubix ] Bonjour, Comment on peut faire pour extraire les lignes d'une table. Ce que j'aimerais c'est d'extraire en premier la première ligne puis la suivante Problème de clée étrangère [ par emmanuel9 ] Bonjour à tous, Mon problème vient du faite que j'ai plusieurs tables dans une base de données dont une table personne et j'ai un programme qui ecrit Problème de table en mutation (Oracle) [ par steppenwolf ] Salut !J'ai un problème sous Oracle lors de l'exécution d'une requête de mise à jour d'une table : SQL> update emp set de récupérer la ligne qui vient d'être ajoutée dans une table (Access ou SQL Server) [ par romagny13 ] Bonjour,dans le cas d'une table disposant d'une clé primaire auto incrémentéevoila je voudrais savoir comment je peux faire pour ajouter une ligne à l problème avec une requete oracle [ par jackrichard ] Bonjour a tous Voilà j'ai un problème avec Oraclej'essaie de voire la structure de la table avecdesc nom_tablemais je me suis


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales