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

Uzyskiwanie wpisanych wyników z surowego SQL ActiveRecord

Chociaż nie mam wątpliwości, że odpowiedź Björna Nilssona zadziałała, gdy ją opublikował, to dla mnie zawodzi z Postgresem 9.4 i PG gem w wersji 0.18.2 . Po przejrzeniu dokumentacji PG gem znalazłem następujące działanie:

pg = ActiveRecord::Base.connection
@type_map ||= PG::BasicTypeMapForResults.new(pg.raw_connection)

res = pg.execute("SELECT 'abc'::TEXT AS a, 123::INTEGER AS b, 1.23::FLOAT;")
res.type_map = @type_map
res[0]
# => {"a"=>"abc", "b"=>123, "float8"=>1.23}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja PostgreSQL dla ostatnio wstawionego identyfikatora

  2. Jak UPSERT (MERGE, INSERT ... ON DUPLICATE UPDATE) w PostgreSQL?

  3. Czy istnieje odpowiednik PostgreSQL profilu SQL Server?

  4. Jak używać array_agg() dla varchar[]

  5. Entity Framework 6 z Npgsql