L'exécution d'une Proc Stockée Oracle comme un Autre Utilisateur

Je suis surtout un oracle novice, donc pardonnez-moi si c'est une question stupide...

J'ai un schéma appelé "CODE" avec une procédure stockée qui exécute des requêtes SQL (pour l'instant, s'il vous plaît ignorer les problèmes de sécurité potentiels associés avec que). Le SQL qui est passé dans la volonté de sélectionner des données; mais toutes les données réside dans le schéma A, B, ou C, mais le SQL ne jamais sélectionner à partir d'UN schéma à un moment.

Par exemple: Utilisateur de type A crée une chaîne de caractères 'SELECT * from A. USERTABLE" - tout utilisateur de type B crée une chaîne de caractères 'SELECT * from B. USERTABLE'.

Ce que je suis en train de faire est de permettre à l'utilisateur de ne pas spécifier de manière explicite leur schéma. Dans le front-end .net application; je sais déjà que si elles sont de type A, B ou C. je veux tous les trois à entrer simplement 'SELECT * from USERTABLE'.

Le problème que je rencontre est que je ne sais pas comment faire. Mon application ne peut exécuter proc dans le "CODE" du schéma, donc je ne peux pas dupliquer le code et permettre à l'utilisateur d'Un appel 'A. ExecuteSQL'.

J'ai essayé quelques petites choses; mais rien n'a fonctionné jusqu'à présent. Je veux le ExecuteSQL proc pour rester dans le CODE de schéma; mais quand 'USERTABLE' est transmis, j'ai besoin de savoir que, parfois, cela signifie que A. nom d'utilisateur et parfois, B. nom d'utilisateur.

Des suggestions?

OriginalL'auteur Rob P. | 2010-03-04