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

Mảng số nguyên postgres làm tham số?

Xem:http://www.postgresql.org/docs/9.1/static/arrays.html

Nếu trình điều khiển không phải gốc của bạn vẫn không cho phép bạn chuyển các mảng, thì bạn có thể:

  • chuyển một biểu diễn chuỗi của một mảng (thủ tục được lưu trữ của bạn sau đó có thể phân tích cú pháp thành một mảng - xem string_to_array )

    CREATE FUNCTION my_method(TEXT) RETURNS VOID AS $$ 
    DECLARE
           ids INT[];
    BEGIN
           ids = string_to_array($1,',');
           ...
    END $$ LANGUAGE plpgsql;
    

    sau đó

    SELECT my_method(:1)
    

    với:1 ='1,2,3,4'

  • dựa vào chính Postgres để truyền từ một chuỗi sang một mảng

    CREATE FUNCTION my_method(INT[]) RETURNS VOID AS $$ 
           ...
    END $$ LANGUAGE plpgsql;
    

    sau đó

    SELECT my_method('{1,2,3,4}')
    
  • chọn không sử dụng các biến liên kết và thay vào đó đưa ra một chuỗi lệnh rõ ràng với tất cả các tham số được viết ra (đảm bảo xác thực hoặc thoát tất cả các tham số đến từ bên ngoài để tránh các cuộc tấn công chèn SQL.)

    CREATE FUNCTION my_method(INT[]) RETURNS VOID AS $$ 
           ...
    END $$ LANGUAGE plpgsql;
    

    sau đó

    SELECT my_method(ARRAY [1,2,3,4])
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cài đặt PostgreSQL 9 trên Windows:Không thể ghi bên trong đường dẫn môi trường TEMP.

  2. Bộ điều hợp Postgresql (pg):không thể kết nối với máy chủ

  3. nhầm lẫn cổng postgresql 5433 hay 5432?

  4. Cách tạo chuỗi nếu không tồn tại

  5. Khôi phục Pgbackrest và Khôi phục Delta