sql >> Database >  >> RDS >> PostgreSQL

dynamische query postgre

Er is de EXECUTE verklaring van plpgsql , die zou doen wat u probeert te doen - een SQL-querystring uitvoeren. Je hebt dynamisch getagd, dus dit is misschien wat je zoekt.

Werkt alleen binnen plpgsql-functies of DO verklaringen (anonieme codeblokken). Het onderscheid tussen EXECUTE en SQL-EXECUTE duidelijk gemaakt in de fijne handleiding:

Opmerking: De PL/pgSQL EXECUTE statement is niet gerelateerd aan de EXECUTE SQLstatement ondersteund door de PostgreSQL-server. EXECUTE . van de server statement kan niet direct worden gebruikt binnen PL/pgSQL-functies (en is niet nodig).

Als u waarden wilt retourneren van een dynamische SELECT query zoals uw voorbeeld aangeeft, moet u een functie maken. DO instructies retourneren altijd void . Meer over het retourneren van waarden van een functie in de zeer fijne handleiding.



  1. sqldeveloper-foutbericht:netwerkadapter kan de verbindingsfout niet tot stand brengen

  2. PL/pgSQL-functies:Een normale tabel met meerdere kolommen retourneren met behulp van een execute-statement

  3. Hoe Atanh() werkt in PostgreSQL

  4. LIMIT trefwoord op MySQL met voorbereide verklaring