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

Име на динамична таблица в postgreSQL 9.3

Моля, не правете това - първо разгледайте алтернативите, като започнете с разделяне и изключване на ограничения .

Ако трябва да използвате имена на динамични таблици, направете го на ниво приложение по време на генериране на заявка.

Ако всичко друго се провали, можете да използвате PL/PgSQL процедура като:

CREATE OR REPLACE pleasedont(int year) RETURNS TABLE basetable AS $$
BEGIN
    RETURN QUERY EXECUTE format('SELECT col1, col2, col3 FROM %I', 'basetable_'||year);
END;
$$ LANGUAGE plpgsql;

Това ще работи само ако имате базова таблица, която има същата структура като подтаблиците. Освен това е наистина болезнено да се работи с него, когато започнете да добавяте квалификатори (ограничения на клауза where и т.н.) и предотвратява всякакъв вид кеширане на план или ефективно използване на подготвен израз.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изберете данни за 15 минутни прозорци - PostgreSQL

  2. Heroku pg:psql спира

  3. Добавяне на X часа - @Query - Spring Data JPA

  4. След като активирам модели в django, защо не мога да ги запитвам директно в postgresql pgAdmin UI?

  5. Вземете пътищата от база данни с точки в sql