J'ai une base de données Oracle 10g accessible à partir d'une application ASP.NET. Bien que j'aie beaucoup utilisé SQL Server sous différents aspects et qu'Oracle pour l'interrogation et la création de rapports, c'est la première fois que j'utilise Oracle comme base de données OLTP pour une application.Appel de procédures de package Oracle qui renvoient des curseurs de référence en langage PL/SQL direct
Les procédures au niveau de la base de données dans les packages sont de la forme:
-- TYPE refcur IS REF CURSOR;
PROCEDURE get_some_stuff(o_cursor OUT refcur, p_param1 IN INTEGER, p_param2 IN INTEGER) IS
BEGIN
OPEN o_cursor FOR
SELECT whatever
FROM whatever
END
Je suppose que ceux-ci sont faits de cette façon au profit de la couche de ADO.NET capable d'utiliser le curseur de la sortie param et je crois comprendre que c'est la meilleure pratique acceptable pour appeler Oracle procs à partir de .NET. Dans SQL Server, par exemple, nous n'avons pas de curseurs de référence explicites, si un proc renvoie un ensemble de résultats (ou plusieurs ensembles de résultats), accessible en tant que jeu de résultats de sortie dans ADO.NET et SSMS, et vous pouvez simplement tester les SP en faisant EXEC spname param1, param2
. Le problème que j'ai est que je ne sais pas comment les appeler directement dans SQL dans Toad, par exemple, pour pouvoir tester les changements au niveau PL/SQL avant d'aller à l'application. Je suis très habitué à pouvoir exercer et même remixer des processus et des fonctions stockés dans SQL Server pour pouvoir refactoriser la couche d'interface de base de données sans affecter l'interface externe au code au niveau de l'application.
double possible de [meilleure façon de tester une procédure stockée Oracle] (http://stackoverflow.com/questions/952663/easiest-method-to-test-an-oracle-stored-procedure) –
@OMG Poneys Il est toujours facile de trouver les exemples seulement après avoir abandonné la recherche ... On dirait que j'ai besoin d'un crapaud plus récent, cependant. –
Quoi - Toad ne vous laissera pas utiliser un bloc PLSQL anonyme ?! Je n'ai utilisé que Toad pour SQL Server, PLSQLDeveloper (version gratuite) pour moi quand j'ai affaire à Oracle =) –