sql >> Database >  >> RDS >> PostgreSQL

Wat betekent %% in PL/pgSQL?

De alleen plaats die ik kan bedenken, waar een % zou worden verdubbeld in standaard Postgres is binnen de format() functie, die gewoonlijk wordt gebruikt voor het produceren van een queryreeks voor dynamische SQL. Vergelijk voorbeelden hier op SO.

De handleiding :

Lastig bij het gebruik van de modulo-operator % in een dynamische verklaring!

Ik vermoed dat ze dynamische SQL achter de schermen gebruiken - wat ze voor het artikel hebben gegeneraliseerd en vereenvoudigd. (De schema-gekwalificeerde naam van de reeks is 'insta5.table_id_seq' en de tabel zou geen "tabel" heten.) Tijdens het proces vergaten ze de modulo-operator te "unscapen".
Dat is misschien wat ze eigenlijk gebruiken:

EXECUTE format($$SELECT nextval('%I') %% 1024$$, seq_name)
INTO seq_id;


  1. Wat is er nieuw in Access 2016? Is het de moeite waard om te upgraden?

  2. Hoe kan ik mysql gebruiken in C++?

  3. Oracle-functie om strings op een niet-geordende manier te vergelijken

  4. Bewaar meerdere e-mailadressen in de database voor verschillende gebruikerstypes