|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre expérimenté
![]() ![]() Emmanuel Bourgerie Inscription : mai 2009 Messages : 277 ![]() |
Salux !
Sur un trigger, j'essaie d'appeler une fonction pour en récupérer le résultat dans une variable comme ceci : (N = NEW) Code :
SET N.REFCLI = CALL AALWEB2010.PONDRE(CONCAT('refcli', N.CODECLIENT)); Citation:
Citation:
|
||
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
Dans une procédure on peut avoir des paramètres IN, OUT ou INOUT selon sa définition.
Exemple : Code :
Maintenant tu parles de fonctions, il y a donc confusion dans tes propos. Si PONDRE est une fonction (selon le code que tu as publié) alors il te suffit de faire : Code :
SET N.REFCLI = PONDRE(CONCAT('refcli', N.CODECLIENT)); |
||
|
|
00
|
|
|
#3 | ||||
|
Membre expérimenté
![]() ![]() Emmanuel Bourgerie Inscription : mai 2009 Messages : 277 ![]() |
Citation:
Citation:
edit: tant que ça me vient à l'esprit, la fonction attend un CHAR(30). Est-ce que ça peut avoir un lien ? |
||||
|
00
|
|
|
#4 | |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
Citation:
Pour résoudre ton problème : 1) Soit tu redéfinis ta fonction avec un VARCHAR plutôt qu'un CHAR 2) Soit tu fais tu casting comme ci-dessous : Code :
SET N.REFCLI = PONDRE(CAST CONCAT('refcli', N.CODECLIENT) AS CHAR(30)); |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com