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

Целочислени масиви на Postgres като параметри?

Вижте:http://www.postgresql.org/docs/9.1/static/arrays.html

Ако вашият нероден драйвер все още не ви позволява да предавате масиви, тогава можете:

  • предайте низово представяне на масив (който вашата запомнена процедура може след това да анализира в масив - вижте string_to_array )

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

    след това

    SELECT my_method(:1)
    

    с :1 ='1,2,3,4'

  • разчитайте на самия Postgres за прехвърляне от низ към масив

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

    след това

    SELECT my_method('{1,2,3,4}')
    
  • изберете да не използвате свързващи променливи и вместо това издайте изричен команден низ с всички параметри (уверете се, че сте валидирали или избягвате всички параметри, идващи отвън, за да избегнете атаки с инжектиране на SQL.)

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

    след това

    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. Важна ли е позицията на колоната с идентификатор в Postgresql?

  2. Как да променя типа на колоната в Heroku?

  3. Защо стойностите NULL са на първо място при поръчка на DESC в заявка на PostgreSQL?

  4. PostgreSql :Json масив към редове с помощта на странично присъединяване

  5. Инсталирайте pdo за postgres Ubuntu