小编Urc*_*rco的帖子

Postgresql将多行查询结果赋值给变量并继续执行

我正在尝试创建一个脚本来调用 PostgreSQL 中的多个存储过程并打印其中一些的结果:

CREATE OR REPLACE FUNCTION script(
vtoken character varying) 
  RETURNS void AS
$BODY$
DECLARE
  aux character varying;
BEGIN

PERFORM (SELECT acquire_table(vtoken));

-- This query gets the dynamically generated token for the client in that codebar
aux := (SELECT token 
                FROM clients c JOIN tables t ON c.tablekey = t.tablekey 
                WHERE codebar = vtoken);

PERFORM (SELECT order_drinks(aux, '{1}', '{1}'));

--EXECUTE (SELECT issue_ticket(aux));

PERFORM (SELECT order_drinks(aux, '{1}', '{1}'));


END;$BODY$
  LANGUAGE plpgsql VOLATILE
Run Code Online (Sandbox Code Playgroud)

issues_ticket() 函数返回多行结果,我想直接打印它并继续执行下一个函数(order_drinks())。如果我执行 PERFORM,它不会显示结果,如果我只是尝试按原样执行 SELECT 查询,它会要求将返回值分配给变量。

postgresql

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

postgresql ×1