sql >> Databáze >  >> RDS >> PostgreSQL

Uživatelem definované proměnné v PostgreSQL

Postgres běžně nepoužívá proměnné v prostém SQL. Ale můžete udělejte to také:

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

SELECT current_setting('foo.test');

Přečtěte si o přizpůsobených možnostech v příručce.

V PostgreSQL 9.1 nebo starším jste potřebovali deklarovat custom_variable_classes než to budete moci použít.

Vy však nemůžete EXECUTE dynamické SQL bez PL (procedurální jazyk). Použili byste DO příkaz pro provádění ad-hoc příkazů (ale nelze z něj vrátit data). Nebo použijte CREATE FUNCTION vytvořit funkci, která spouští dynamické SQL (a může vracet data jakýmkoli představitelným způsobem).

Při používání dynamického SQL se ujistěte, že se chráníte proti vkládání SQL.

Související:

  • Existuje způsob, jak definovat pojmenovanou konstantu v dotazu PostgreSQL?



  1. Návrh datového modelu pro systém rezervace hotelových pokojů

  2. Oracle SQL Query pro výpis všech schémat v DB

  3. Jak databáze podporují podniky elektronického obchodu

  4. Použití JShell v Javě 9 v NetBeans 9.0, část 4