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

Co znamená %% v PL/pgSQL?

jediné místo, které mě napadá, kde % by se zdvojnásobilo ve standardním Postgresu je uvnitř format() funkce, běžně používaná pro vytváření řetězce dotazu pro dynamické SQL. Porovnejte příklady zde na SO.

Příručka :

Záludné při použití operátor modulo % v dynamickém prohlášení!

Mám podezření, že za oponou provozují dynamické SQL – což pro článek zobecnili a zjednodušili. (Název sekvence kvalifikovaný pro schéma je 'insta5.table_id_seq' a tabulka by se nepojmenovala "table".) V procesu zapomněli "unescape" operátor modulo.
To je to, co mohou ve skutečnosti spustit:

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


  1. Dotaz Oracle k nalezení řetězce neobsahujícího znaky

  2. PHP PDO Bit(1) vrací nesprávný datový typ

  3. Jak seskupit podle 1 v SQL Server

  4. PDO SQL-stav 00000, ale stále chyba?