1
據我所知,當你在postgresql中創建一個用戶定義的函數時,你必須指定參數號和類型。就像這樣:PostgreSQL - 如何用動態參數定義用戶定義的函數?
CREATE OR REPLACE FUNCTION my_add(xx INTEGER, yy INTEGER)
RETURNS INTEGER AS
$$
BEGIN
RETURN xx + yy;
END;
$$
LANGUAGE plpgsql;
select my_add(12, 34);
output: 46
現在我想建立一個能接收動態參數和工作原理是這樣的函數:
select my_add(1, 2);
output: 3
select my_add(1, 2, 3);
output: 6
select my_add(10, 4, 5, 1);
output: 20
有定義動態參數的一些方法,當你定義功能?我怎樣才能做到這一點?謝謝。
@hyman - 'CREATE FUNCTION my_concat(可變參數改編文本[])返回文本$$ SELECT array_to_string(ARR, ''); $$ LANGUAGE SQL;'然後調用:'select my_concat('hello','world','。');' –
非常感謝!你的代碼可以處理數字操作。但如果我想定義一個像'concat'這樣的函數,我該怎麼辦?像這樣:'select my_concat('hello','world','。');輸出:helloworld.' – hyman
@OtoShavadze非常感謝!這就是我需要的。 – hyman