4.1 变量会依次替换模板中的’%’,要以分号结尾,且%占位符的数量要和变量的数量完全一致。输出的结果在下方输出窗口的消息中显示
4.2 RAISE是一个函数,NOTICE指的是级别,同样可以换成DEBUG,LOG,INFO,EXCEPTION且函数和级别大小写不敏感。具体某个级别是否输出取决于系统设定,默认情况下输出NOTICE,INFO,EXCEPTION这3个级别。
5. 游标的使用
5.1 定义游标:在DECLARE 和BEGIN中间,以c refcursor的方式来定义。
5.2 打开游标:open c for select xxx from xxx where ...
5.3 获取数据:fetch c into xxx
into 后面可以跟变量名,根据select出来的列来存入,也可以定义一个RECORD类型的变量,直接放 进去,取的时候,直接用[RECORD变量名].[列名]获取对应列的数据。
5.4 循环获取数据,首先fetch一次,然后利用内置变量found循环获取数据
DECLARE crefcursor; rRECORD; BEGIN opencforselect*fromt_test; fetchcintor; WHILEfoundLOOP RAISENOTICE‘data:%,%,%’,r.column_1,r.column_2,r.column_3; fetchcintor;--这里一定要再次fetch一下 ENDLOOP; END;
5.变量名要避开参数名以及列名,例如以v_做前缀
6.待续
原文链接:https://www.f2er.com/postgresql/194873.html