Sat*_*rma 3 postgresql plpgsql
我有一个 PostgreSQL 函数
CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS $$
BEGIN
IF i<0 THEN
RETURN i + 1;
ELSE
GOTO label1;
END IF
<<label1>>
RETURN null;
END;
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
在此函数中,我必须转到 label1,但 GOTO 关键字不起作用,请您帮我了解如何从特定代码跳转到标签。
小智 7
另一个嵌套的 Begin 块?
BEGIN
<<label1>>
BEGIN
IF i<0 THEN
RETURN i + 1;
ELSE
EXIT label1;
END IF;
END;
RETURN null;
END;
Run Code Online (Sandbox Code Playgroud)
解决方法:
<<label>>
LOOP
...
EXIT label WHEN i > 0;
...
EXIT;
END LOOP label;
some;
Run Code Online (Sandbox Code Playgroud)
但我十年没用过——所以通常你做错了
| 归档时间: |
|
| 查看次数: |
11264 次 |
| 最近记录: |