Trigger ou Primaire/Etrangere ?

Trigger ou Primaire/Etrangere ? - SQL/NoSQL - Programmation

Marsh Posté le 24-05-2006 à 14:29:04    

Bonjour.
Je ne connais pas trop les syntaxe des triggers mais bon je pense pouvoir me débrouiller avec quelques exemple.
Je voudrais faire une chose :
Sur un server j'ai plusieurs base de données. Dans l'une d'elle il y a un table avec une clé primaire et je voudrais faire en sorte que d'autre table se trouvant dans d'autre base de données (conteneur) puisse avec un champs ayant comme clé etrangère cette clé. En sachant que ces valeur ne sont pas un champs id auto incrément mais une chaine. Je voudrais que lorsque cette chaine est modifié dans la clé primaire elle puisse changer automatique dans les autres.
 
Suis-je obligé de passer par un trigger ou le faite que la qu'il y a une relation primaire etrangère ça va se faire tous seul. De plus comment associé une clé etrangère a une clé primaire se trouvant sur un autre conteneur ?
Je suis SQL Server
Merci.

Reply

Marsh Posté le 24-05-2006 à 14:29:04   

Reply

Marsh Posté le 24-05-2006 à 16:30:15    

Désolé mais je n'ai pas compris cette phrase (qui ne doit, sans doute, pas être bien française) :
 

Citation :

Dans l'une d'elle il y a un table avec une clé primaire et je voudrais faire en sorte que d'autre table se trouvant dans d'autre base de données (conteneur) puisse avec un champs ayant comme clé etrangère cette clé


 :sarcastic:

Reply

Marsh Posté le 24-05-2006 à 16:40:35    

c'est impossible de faire une FK entre 2 tables de 2 instances distinctes :/

Reply

Marsh Posté le 24-05-2006 à 16:42:27    

Fiiies1 a écrit :

Désolé mais je n'ai pas compris cette phrase (qui ne doit, sans doute, pas être bien française) :
 

Citation :

Dans l'une d'elle il y a un table avec une clé primaire et je voudrais faire en sorte que d'autre table se trouvant dans d'autre base de données (conteneur) puisse avec un champs ayant comme clé etrangère cette clé


 :sarcastic:


Ouais la phrase est d'un genre là :/.
Faire une relation clé primaire/clé étrangère sur des champs se trouvant deux base de données distinct.


Message édité par Berceker United le 24-05-2006 à 16:43:53
Reply

Marsh Posté le 24-05-2006 à 17:08:34    

Vu que c'est impossible j'ai voulu créer un trigger qui "normalement" devait modifier une valeur sur d'autre tables.
Concernant les triggers j'ai commencé à faire ceci.
 

Code :
  1. CREATE TRIGGER UPDATE_TXN
  2. ON tb_taxinomie AFTER UPDATE
  3. AS
  4. IF UPDATE(txn_code)
  5. BEGIN
  6. UPDATE a SET a.nom = b.txn_code
  7. FROM test_insert AS a JOIN tb_taxinomie AS b
  8. ON (a.nom = b.txn_code)
  9. END


 
Dans l'idée je voulais faire en sorte que lorsque je modifie la valeur d'un champs, je change toute celle qui y font référence depuis les autres conteneurs. Problème c'est qu'avec ce que j'ai fais cela fonctionne pas car l'opération se fait après la mise à jour (AFTER UPDATE). Dans SQL Server, BEFORE UPDATE n'existe pas. Comment puis-je récupérer la donnée qui va être modifié pour que puisse y faire référence lors de ma mise à jour ?
Merci


Message édité par Berceker United le 29-05-2006 à 11:34:02
Reply

Marsh Posté le 29-05-2006 à 11:34:07    

up

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed