54
我想用pl/pgsql編寫函數我正在使用PostgresEnterpreis Manager v3並使用shell創建函數,但在shell中我必須定義返回類型。如果我不定義返回類型,我不能創建一個函數。如何創建無返回值的函數
如何創建一個沒有返回結果的函數,即創建一個新表的函數?
我想用pl/pgsql編寫函數我正在使用PostgresEnterpreis Manager v3並使用shell創建函數,但在shell中我必須定義返回類型。如果我不定義返回類型,我不能創建一個函數。如何創建無返回值的函數
如何創建一個沒有返回結果的函數,即創建一個新表的函數?
使用RETURNS void
象下面這樣:
CREATE FUNCTION stamp_user(id int, comment text) RETURNS void AS $$
#variable_conflict use_variable
DECLARE
curtime timestamp := now();
BEGIN
UPDATE users SET last_modified = curtime, comment = comment
WHERE users.id = id;
END;
$$ LANGUAGE plpgsql;
對於其他讀者,請注意'#variable_conflict'指令有*不*做答案的其餘部分。它只是示例函數的一部分;唯一重要的是'RETURNS void'。另外,很酷,我不知道PL/PgSQL有編譯指示。 –
下面是一個使用'#variable_conflict'的相關案例:http://dba.stackexchange.com/a/105828/3684 –