Postgresql 跳转到plpgsql函数中的另一个标签
我在Postgres中开发了一个存储过程,遇到了一种情况,根据控制结构的结果,我必须访问不同的标签块。有什么可行的方法吗 很抱歉没有立即提供代码。以下是我对这个问题的概念解决方案:Postgresql 跳转到plpgsql函数中的另一个标签,postgresql,label,plpgsql,Postgresql,Label,Plpgsql,我在Postgres中开发了一个存储过程,遇到了一种情况,根据控制结构的结果,我必须访问不同的标签块。有什么可行的方法吗 很抱歉没有立即提供代码。以下是我对这个问题的概念解决方案: BEGIN IF LotFlag = 1 THEN IF lotno = '' THEN RETURN 3; ELSE SELECT * FROM "DEDGE_im_tblinventory_unposted"
BEGIN
IF LotFlag = 1 THEN
IF lotno = '' THEN
RETURN 3;
ELSE
SELECT * FROM "DEDGE_im_tblinventory_unposted"
WHERE "DocRef" = docref
AND "TranCode" = trancode
AND "LotNo" = lotno;
IF NOT FOUND THEN
/*Go to testblock1*/
ELSEIF FOUND THEN
/*Go to testblock2*/
ELSE
/*Go to testblock3*/
END IF;
END IF;
END IF;
END;
<<testblock1>>
BEGIN
RETURN 1;
END;
<<testblock2>>
BEGIN
RETURN 1;
END;
<<testblock3>>
BEGIN
RETURN 1;
END;
使用函数,而不是转到
IF NOT FOUND THEN
/* call f1() or f(1) */
ELSEIF FOUND THEN
/* call f(2) or f(2) */
ELSE
/* call f3() or f(3) */
END IF;
你应该提供一些代码,让我们更容易给你一个相关的答案。看,plpgsql中没有GOTO是的,我实际上已经读过这个问题了。但有没有什么方法可以让我跳转、访问甚至运行另一块标签?因为如果我们使用EXIT,它只会转到下一个代码块,而我无法控制它。。另外,请始终包含函数头,它是任何plpgsql函数的一个组成部分。还有你的博士后版本。