Bonjour à tous!
Serait-il possible d'appeller une procédure ou une fonction stockée dans une base oracle 9i à partir de pro*c?
Si oui, pouriez vous me donnée un exemple à titre de démonstration?
merci
Bonjour à tous!
Serait-il possible d'appeller une procédure ou une fonction stockée dans une base oracle 9i à partir de pro*c?
Si oui, pouriez vous me donnée un exemple à titre de démonstration?
merci
Bonjour
Exemple basique sans aucun contrôle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 char sql[] = "BEGIN ma_procedure(:param1, :param2); END;"; EXEC SQL PREPARE SP FROM :sql; EXEC SQL EXECUTE SP USING :var1, :var2;
Vincent Rogier.
Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog
Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !
OCILIB (C Driver for Oracle)
Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Nul besoin du SQL dynamique
Il faut faire attention aux paramètres pour passer/récupérer les variable Pro*C
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 EXEC SQL EXECUTE BEGIN Mon_block_PL/SQL EXCEPTION Ma_gestion_des_exceptions_PL/SQL END; END-EXEC;
(host variables)
Effectivement, nul besoin du SQL dynamique pour du pl/sql statique et effectivement ma réponse était incomplète.
Par contre, si le nom de ta procédure ou le contenu du block pl/sql n'est pas connu à l'avance, tu en as besoin.
Je suis donc plus nuancé que mnitu, je dirais donc tu as deux méthodes en fonction des besoins
Vincent Rogier.
Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog
Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !
OCILIB (C Driver for Oracle)
Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
ok! merçi pour vos réponses, je vais voir ça
Partager