|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mai 2006 Messages : 176 ![]() |
Bonjour, j'essaie par tout les moyens de réaliser un trigger, seulement, il me met que celui-ci contient une erreur, et j'ai eau cherché, je n'arrive pas à voir ou l'erreur est !
Voici mon trigger : CREATE TRIGGER `ins_B` AFTER INSERT ON `A` FOR EACH ROW BEGIN DECLARE db_name VARCHAR(255); DECLARE name VARCHAR(255); SET name = SELECT A.name FROM A, B WHERE ( inserted.project_id = A.id); SET db_name = REPLACE(name||'_'||inserted.version,'.','_'); INSERT INTO `C` (`version_id`,`database`) VALUES (inserted.version,db_name); END; Donc c'est un trigger, qui une fois un enregistrement réalisé dans une table B, récupère des informations de cette table (l'id), pour récupérer un nom dans la table A, et ensuite fais une concaténation et un remplacement entre le nom trouver et la nouvelle version. Voilà si quelqu'un pouvait m'aider svp, merci d'avance ! |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : mai 2006 Messages : 176 ![]() |
le SGBD, c'est MySQL, pour tout dire pour le moment j'utilise WAMP en local.
J'ai réussi ma requete à quelque chose près ! Voilà je réalise une concaténation, à la place du replace, seulement, j'ai beau utiliser || ou + ou & pour concaténer à chaque fois le résultat n'est pas le bon. Par exemple au lieu d'obtenir pour ("test"+"4"), il me retourne "4", et avec & j'obtiens "0", et ||me génère carrément une erreur... Donc voilà, exactement ou j'en suis. Et encore merci. |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : mai 2006 Messages : 176 ![]() |
Désolé d'avoir mal placé le sujet, toujours est il que les fonctions pour :
Concaténation : concat('a','b'); Remplacement : replace(abc,'ab','b'); Voilà, et mercie encore ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com