PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Fonction de requête dynamique Postgres

Vous ne pouvez pas utiliser une variable à la place d'un identifiant comme ça. Vous devez le faire avec des requêtes dynamiques. Cela ressemblera à ceci :

EXECUTE 'SELECT * FROM ' || quote_ident(tname) 
        || ' WHERE ' || quote_ident(cname) || ' NOT IN (''AK'',''CK'');'
INTO result_var;

Si vous utilisez PostgreSQL 9.1 ou supérieur, vous pouvez utiliser la fonction format() qui facilite grandement la construction de cette chaîne.