PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Ruby:Jak dynamicznie zastępować parametry w natywnym PG gem

Symbole zastępcze (np. $1 , $2 , ...) są dla wartości. Nazwa bazy danych (lub nazwa tabeli, nazwa kolumny, ...) to identyfikator. Jest to podobne do różnicy między nazwą zmiennej a wartością, którą zmienna posiada w Ruby.

Jeśli potrzebujesz dynamicznie wstawić identyfikator w jakimś SQL, musisz użyć interpolacji ciągów i specjalnego przeznaczenia quote_ident metoda, aby upewnić się, że cytujesz ją prawidłowo. A więc coś bardziej takiego:

db_name = conn.quote_ident(db_name)
res     = conn.exec("CREATE DATABASE #{db_name}")



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dblink nie istnieje, nawet jeśli rozszerzenie już istnieje?

  2. Ograniczenie PostgreSQL, które jest sprawdzane przy zatwierdzeniu, a nie wcześniej

  3. Wiele CTE w jednym zapytaniu

  4. Wstaw tekst z pojedynczymi cudzysłowami w PostgreSQL

  5. PostgreSQL Composite klucz podstawowy i przyrost seryjny?