pg-存储过程

1.概念和优势

2.代码块结构

do end之间俩个$$  declare用来声明定义变量,begin用来运行赋值 notice输出

3.变量使用

  •  常量

常量修改会报错

示例

notice注意

4.select 和perform的区别

错误信息ERROR: query has no destination for result data 表示在PL/pgSQL存储过程中,你尝试执行一个SELECT查询,但是没有指定目标来接收这个查询返回的数据。在PL/pgSQL中,当你执行一个SELECT语句时,如果不想获取或处理其返回的数据,应该使用PERFORM而不是SELECT。
如果你的查询是试图从表中获取数据但是不需要使用这些数据,可以直接用PERFORM代替SELECT。如果你确实需要获取数据,那么你需要将结果储存到某个变量中。如果这些数据不需要储存,可以用一种最简单的方式来消耗掉这些数据,例如:
-- 假设你的函数返回某个值并且你不关心这个值,使用 PERFORM
PERFORM some_function_with_return_value();

-- 如果需要存储返回值,请使用变量
DECLARE
    result_value some_type; -- 这是要存储返回值的变量
BEGIN
    SELECT function_that_returns_value()
    INTO result_value;
END;

下面是更详细的例子:
假设你有一个函数some_function(),且这个函数返回值,但你不需要这个返回值:
-- 使用 PERFORM 来忽略返回值
PERFORM some_function();

而如果你需要存储处理结果,则可以使用:
DECLARE
    my_variable some_type;
BEGIN
    SELECT some_function()
    INTO my_variable;
END;

确保你在函数的声明部分定义了变量,如果不使用返回值的情况下,把SELECT替换为PERFORM,就不会再有此错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

打酱油的;

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值