il manque le BEGIN et END dans la chaine du SQL dynamique :roll:
Type: Messages; Utilisateur: orafrance
il manque le BEGIN et END dans la chaine du SQL dynamique :roll:
les variables sont probablement mal renseignées... merci de faire une recherche sur EXECUTE IMMEDIATE et faire les modifs en conséquence.
essaye :
DECLARE
stmt VARCHAR2(4000);
BEGIN
stmt := 'BEGIN' || CHR(10);
stmt := stmt || 'LINUXGetDiskInfo'||dblinkname||'(dsk, siz, fre);';
stmt := stmt || 'END;' || CHR(10) || CHR(10);...
execute immediate 'exec LINUXGetDiskInfo'||dblinkname||'(dsk, siz, fre)';
TOAD ou SQL*Plus ça change rien, ça reste du SQL
manque EXEC.
EXECUTE IMMEDIATE(<code SQL>)
si tu colles :
LINUXGetDiskInfo@base.world(dsk, siz, fre)
regarde du coté de EXECUTE IMMEDIATE
c'est le @dblink qu'il faut retenir, pour le reste ça fonctionne exactement comme une procédure locale :roll:
http://www.developpez.net/forums/showthread.php?t=407598&highlight=proc%E9dure+dblink :roll:
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.