2010-03-02 3 views
2

Je reçois l'instruction ci-dessous à partir de la procédure stockée. Cela donne des privilèges insuffisants. Mais si j'exécute l'instruction create seule à partir de l'invite sql, elle crée une table. Ce qui doit être fait pour avoir des privilèges pour créer une table via l'exécution immédiate à partir de la procédure stockée. Vous ne savez pas comment cela fonctionne à partir de l'invite de commande sqlEn ce qui concerne l'exécution immédiate dans la procédure stockée

+0

Exécutez-vous la procédure stockée en utilisant le même utilisateur? –

Répondre

3

Les procédures n'héritent pas des privilèges accordés via un rôle. Plus d'info here. S'il vous plaît vérifiez si c'est ce qui vous arrive. Un moyen de résoudre ce problème consiste à accorder le privilège "CREATE TABLE" directement au compte qui possède la procédure.

+0

Merci beaucoup pour la solution – Arav

0

La procédure est-elle créée par le même utilisateur? Si elle est créée par quelqu'un d'autre et que vous avez le privilège EXECUTE seul, alors l'erreur est correcte (en supposant que la procédure de création n'ait pas de clause AUTHID CURRENT USER). Pouvez-vous créer une autre table?

Si vous le pouvez, il y a un problème. Nous aurions besoin de plus de détails pour analyser.

+0

Merci beaucoup pour l'info – Arav