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

Dostęp do dynamicznej tabeli PostgreSQL

OK, znalazłem rozwiązanie:

CREATE OR REPLACE FUNCTION getProductById(cid int) RETURNS RECORD AS $$
    DECLARE
    result RECORD;

    BEGIN
        EXECUTE 'SELECT * FROM ' || (SELECT ('products.' || (select category_name from category where category_id = cid) || '_view')::regclass) INTO result;

        RETURN result;
    END;
$$ LANGUAGE plpgsql;

i wybrać:

SELECT * FROM getProductById(7) AS b (category_id int, ... );

działa dla PostgreSQL 9.x



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wybrać wiele wierszy według ich złożonych kluczy podstawowych w JOOQ?

  2. Przegląd pgModeler dla PostgreSQL

  3. pgAdmin III Dlaczego wyniki zapytań są skracane?

  4. Sprawdź, czy istnieje powiązanie bez ponoszenia trafienia do bazy danych

  5. Jak uruchomić zadanie utworzone przez pgagent w Postgres