postgresql 儲存過程時 如何把查到資料放到陣列中,計算出陣列中數字個數字
阿新 • • 發佈:2019-01-24
CREATE OR REPLACE FUNCTION 儲存過程名(
引數1 integer,
傳入字元數字 text, //'1,2,3,'
)
RETURNS void AS //無返回值
$BODY$
DECLARE
array1 text[]; // 定義第一個陣列來接收傳入‘1,2,3’切割放入陣列中
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中
引數1 integer,
傳入字元數字 text, //'1,2,3,'
)
RETURNS void AS //無返回值
$BODY$
DECLARE
array1 text[]; // 定義第一個陣列來接收傳入‘1,2,3’切割放入陣列中
array2 text[]; //定義第二個陣列來接收從表中查出來資料
array3 text[];count int;
num int
BEGINSELECT 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;