PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Какво означава %% в PL/pgSQL?

Единственият място, за което се сещам, където % ще бъде удвоен в стандартния Postgres е вътре в format() функция, обикновено използвана за създаване на низ на заявка за динамичен SQL. Сравнете примерите тук на SO.

Ръководството :

Трудно при използване на modulo оператор % в динамично изявление!

Подозирам, че изпълняват динамичен SQL зад завесите - който обобщиха и опростиха за статията. (Квалифицираното от схемата име на последователността е 'insta5.table_id_seq' и таблицата няма да бъде наречена "таблица".) В процеса те са забравили да "отменят екранирането" на модулния оператор.
Това е, което те всъщност могат да изпълняват:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Показване на резултати от клиентска заявка на PSQL 8.3+

  2. Уроци по Ruby PostgreSQL

  3. Заявка за булево поле със sqlalchemy

  4. Как мога да вмъкна клеймо с часова зона в postgresql с подготвен израз?

  5. Как да конфигурирате SELinux за PostgreSQL и TimescaleDB