【PostgreSQL】存储过程
在PostgreSQL中,创建一个简单的存储过程可以使用CREATE PROCEDURE
语句。以下是一个例子,它创建了一个名为simple_procedure
的存储过程,该过程接收一个参数并返回一个字符串。
CREATE OR REPLACE PROCEDURE simple_procedure(input_param INTEGER)
LANGUAGE plpgsql
AS $$
BEGIN
RAISE NOTICE 'The input parameter is %', input_param;
END;
$$;
要调用这个存储过程,可以使用CALL
语句:
CALL simple_procedure(10);
这将输出一个通知,其中包含输入参数的值。
如果你需要一个返回结果集的存储过程,可以这样写:
CREATE OR REPLACE PROCEDURE get_users(max_age INTEGER)
LANGUAGE plpgsql
AS $$
BEGIN
RAISE NOTICE 'Users with an age less than %:', max_age;
RETURN QUERY SELECT * FROM users WHERE age < max_age;
END;
$$;
要执行这个存储过程并获取结果集,可以使用CALL
语句并引用一个预先定义的或者匿名的变量来获取返回的结果集:
CALL get_users(30);
这将输出通知并返回年龄小于30岁的用户列表。
评论已关闭