Bonjour,

Je débute sur Postgre et j'aurais une question toute bête, masi je n'ai pas su trouver la réponse sur ce forum.

Celà ne fonctionne pas dans une procédure stockée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
declare
  ll_identity integer;
  ls_table varchar;
begin
  ls_table = 'connexion' ;
  select con_id into ll_identity from ls_table ;
 
  return ll_identity;
end;
ERROR: syntax error at or near "$1" at character 22
QUERY: SELECT con_id from $1

Apparament il ne veut pas de mon ls_table car si je le remplace directement par 'connexion', ca fonctionne.

Comment puis-je faire celà svp ?

Merci pour votre aide



[EDIT]

Je viens de trouver une solution temporaire et pas très propre mais je n'arrive pas à trouver mieux

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
ls_sequence = 'connexion' ;
 
for rec in EXECUTE('SELECT con_id FROM ' || ls_sequence || ' WHERE con_id=856') loop
    ll_identity := rec.con_id;
end loop ;
Dieu que c'est vilain, quelle est la solution svp