sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLの動的テーブルアクセス

    OK、解決策を見つけました:

    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;
    

    選択するには:

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

    PostgreSQL9.xで動作します



    1. データベースへのデータのアップロードに関する問題

    2. PostgresALTERTABLEの問題

    3. Node.jsを使用してOracleDBに複数のレコードを挿入する方法

    4. このクエリをより高速に実行するにはどうすればよいですか?