1. 程式人生 > >postgresql 儲存過程時 如何把查到資料放到陣列中,計算出陣列中數字個數字

postgresql 儲存過程時 如何把查到資料放到陣列中,計算出陣列中數字個數字

  CREATE OR REPLACE FUNCTION 儲存過程名(
    引數1 integer,
    傳入字元數字 text,            //'1,2,3,'
    )
  RETURNS void AS             //無返回值
$BODY$
DECLARE
   array1 text[];               //   定義第一個陣列來接收傳入‘1,2,3’切割放入陣列中

   array2 text[];               //定義第二個陣列來接收從表中查出來資料

   array3 text[];

    count  int;

            num   int

BEGIN     
SELECT regexp_split_to_array(引數1,E'\\,') INTO array1;        // 切割‘1,2,3,’放入陣列1中
SELECT array_length(array1,1) INTO count;                             //得出陣列中數字的個數放入count引數中


array2 := array(SELECT 表裡欄位 FROM  表   WHERE 表裡匹配欄位= 出入字元數字);               //把從表裡查出來的資料放陣列2中

SELECT array_length(array2,1) INTO num;                                                                                        //計算出陣列數字個放入引數num中

END

     $BODY$

          LANGUAGE plpgsql VOLATILE;