PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Chuyển động tên lược đồ và tên bảng vào FROM trong một truy vấn chọn trong Postgres

Bạn không cần các biến cục bộ đó cho lược đồ và bảng. Sử dụng tùy chọn định dạng để tạo các truy vấn và EXECUTE để chạy nó động

CREATE OR REPLACE FUNCTION xx.fn_build_test_(
 IN p_var_archive_schema character varying,
 IN  p_var_archive_table character varying )
 RETURNS record AS
 $BODY$
 DECLARE
  l_var_test VARCHAR[];

 BEGIN

 SELECT  array
  ( SELECT TO_CHAR(column_name,'YYYYMMDD')
    FROM "test_table"
   WHERE col1 = 1
   ) INTO l_var_test;

   EXECUTE format (
     'select col_name FROM %I.%I',
         p_var_archive_schema,p_var_archive_table) 
      --INTO rec_variable;
END;
$BODY$
LANGUAGE plpgsql
VOLATILE SECURITY INVOKER; 

Nếu bạn muốn trả về kết quả của một truy vấn động, bạn có thể sử dụng

RETURNS TABLE và sau đó thực hiện RETURN QUERY EXECUTE để trả về kết quả từ truy vấn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chọn giá trị trước đó một cách hiệu quả?

  2. PostgreSQL:tìm số ngày liên tiếp cho đến thời điểm hiện tại

  3. Giá trị lỗi không tồn tại - postgresql CHÈN VÀO sự cố

  4. Tại sao tôi nhận được ActionView ::Template ::Error:undefined method `name 'cho nil:NilClass trên Heroku nhưng không phải cục bộ

  5. Làm thế nào để nhập các khối dữ liệu * khổng lồ * vào PostgreSQL?