PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Função de consulta dinâmica do Postgres


Você não pode usar uma variável no lugar de um identificador como esse. Você precisa fazer isso com consultas dinâmicas. Vai parecer algo assim:
EXECUTE 'SELECT * FROM ' || quote_ident(tname) 
        || ' WHERE ' || quote_ident(cname) || ' NOT IN (''AK'',''CK'');'
INTO result_var;

Se você estiver usando o PostgreSQL 9.1 ou superior, você pode usar a função format() que torna a construção dessa string muito mais fácil.