sql >> Database >  >> RDS >> PostgreSQL

Door de gebruiker gedefinieerde variabelen in PostgreSQL

Postgres gebruikt normaal gesproken geen variabelen in gewone SQL. Maar u kunt doe dat ook:

SET foo.test = 'SELECT bar FROM baz';

SELECT current_setting('foo.test');

Lees over aangepaste opties in de handleiding.

In PostgreSQL 9.1 of eerder moest je custom_variable_classes . declareren voordat je dat kon gebruiken.

U kunt echter niet EXECUTE dynamische SQL zonder PL (proceduretaal). Je zou een DO . gebruiken commando voor het uitvoeren van ad-hoc-instructies (maar u kunt er geen gegevens van retourneren). Of gebruik CREATE FUNCTION om een ​​functie te maken die dynamische SQL uitvoert (en gegevens op elke denkbare manier kan retourneren).

Zorg ervoor dat u zich beschermt tegen SQL-injectie wanneer u dynamische SQL gebruikt.

Gerelateerd:

  • Is er een manier om een ​​benoemde constante in een PostgreSQL-query te definiëren?



  1. Snelste manier om afstand tussen twee lat/lange punten te vinden

  2. Sjabloonpatronen en -modificaties voor numerieke opmaak in PostgreSQL

  3. Database-indexering in een notendop met B+tree en Hash in vergelijking

  4. Hoe Cot() werkt in PostgreSQL