J'ai un script pl \ sql où je veux définir le nom de la table utilisée dans le script à une variable. Donc, à partir de quelques exemples que j'ai trouvés sur le web, j'ai écrit le code ci-dessous. La première section fonctionne, donc je pense que ma syntaxe générale est correcte, mais la deuxième section, où j'essaie d'utiliser une variable pour un nom de table il erreurs ("Erreur SQL: ORA-00903: nom de table invalide"). Tout le monde sait ce que je fais mal ... Je ne fais pas beaucoup de PL \ SQL alors peut-être que je manque juste quelque chose d'évident.comment utiliser une variable dans le script Oracle pour le nom de la table
--works
variable numOfrecords number;
exec :numOfrecords := 10;
select * from customers2008 where rownum < :numOfrecords;
--does not work
variable tableNm CHAR;
exec :tableNm := 'customers2008';
print tableNm;
select * from :tableNm;
Juste pour info: Selon vos exemples, vous n'utilisez pas vraiment PL/SQL. Je pense que vous voulez dire que vous avez un script SQLPlus. Techniquement, vos commandes exec appellent PL/SQL mais dans l'ensemble ce que vous montrez ici sont des commandes SQLPlus. –
Eh bien, techniquement, il utilise les deux - la commande variable du script déclare une variable de liaison PL/SQL. –