Utilisation d'une variable dans un appel de SQL (avec un "@" )

Utilisation d'une variable dans un appel de SQL (avec un "@" ) - SQL/NoSQL - Programmation

Marsh Posté le 19-11-2012 à 14:44:15    

Bonjour,
 
Dans un programme PL SQL je fais des appels à des SQL externes (le client préfère qu'on décompose afin d'avoir un code plus lisible)
 
Le nom des fichiers SQL est géré avec du code, et est donc stocké dans une variable, seul hic la variable n'est pas interprété lors de l'appel du SQL
 
en clair j'ai ça :

c_chemin_sql := '../sql/sbl_alim_tables_interface_' || OBJET || '.sql';
@chemin_sql;


et j'ai en retour :

SP2-0310: unable to open file "c_chemin_sql.sql"


 
une idée ?
 
PS : la recherche google avec "@" ça marche pas terrible :/

Reply

Marsh Posté le 19-11-2012 à 14:44:15   

Reply

Marsh Posté le 19-11-2012 à 16:57:06    

bon j'ai essayé avec des quotes, parenthèses, crochets
 
sans succès ! :/

Reply

Marsh Posté le 20-11-2012 à 10:56:43    

j'ai peut être trouvé :
 
passer le "@" dans la variable et faire un execute du tout  
 
ce qui donne :

c_chemin_sql := '@../sql/sbl_alim_tables_interface_' || OBJET || '.sql';  
execute immediate chemin_sql;

Reply

Marsh Posté le 20-11-2012 à 14:11:04    

bon, pas dit que ça fonctionne finalement... :/

Reply

Marsh Posté le 20-11-2012 à 14:35:31    

ben tu as 2x l'extension .sql au final..

Reply

Marsh Posté le 20-11-2012 à 14:49:18    

Je dirais l'extension sql est rajoutée que si elle n'est pas précisée.
 
J'ai quand même testé sans l'extension, ça fait pareil ! :/
j'ai l'impression qu'on en peut pas utiliser le execute avec l'appel sql (@)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed