sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgres dynamiska frågefunktion

Du kan inte använda en variabel istället för en identifierare som den. Du måste göra det med dynamiska frågor. Det kommer att se ut ungefär så här:

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

Om du använder PostgreSQL 9.1 eller senare kan du använda format()-funktionen som gör det mycket lättare att konstruera denna sträng.



  1. Returnerar flera tabeller från en lagrad procedur

  2. SQL Server-nätverksgränssnitt:Anslutningssträngen är inte giltig [87]

  3. Hur släpper man en kolumn i SQL?

  4. Få kortdagsnamnet i SQL Server (T-SQL)