在PostgreSQL中,存儲(chǔ)過(guò)程是一組為了完成特定功能的SQL語(yǔ)句集,可以接收參數(shù)并返回值。編寫(xiě)存儲(chǔ)過(guò)程的語(yǔ)法如下:
CREATE OR REPLACE PROCEDURE procedure_name(parameter1 datatype, parameter2 datatype, ...)
AS $$
BEGIN
-- SQL statements to be executed
END;
$$ LANGUAGE plpgsql;
其中,procedure_name
是存儲(chǔ)過(guò)程的名稱,parameter1
, parameter2
, … 是存儲(chǔ)過(guò)程的輸入?yún)?shù),datatype
是參數(shù)的數(shù)據(jù)類型。在存儲(chǔ)過(guò)程體內(nèi),可以使用BEGIN
和END
關(guān)鍵字定義存儲(chǔ)過(guò)程的邏輯。
以下是一個(gè)簡(jiǎn)單的PostgreSQL存儲(chǔ)過(guò)程示例,該存儲(chǔ)過(guò)程用于將兩個(gè)數(shù)字相加并返回結(jié)果:
CREATE OR REPLACE PROCEDURE add_numbers(a numeric, b numeric)
AS $$
BEGIN
RETURN a + b;
END;
$$ LANGUAGE plpgsql;
要調(diào)用此存儲(chǔ)過(guò)程,可以使用以下語(yǔ)法:
SELECT add_numbers(1, 2);
這將返回結(jié)果3。