【发布时间】:2020-09-02 14:52:40
【问题描述】:
我是 PostgreSQL 的新手,我有一个用 T-SQL 编写的存储过程,我想将其转换为 PostgreSQL。到目前为止我已经完成了,但我被困在我搜索了很多地方但在互联网上没有找到任何东西的地方。
下面是我需要适配PGSQL的T-SQL存储过程
If <someCondi>
BEGIN
...
END
ELSE
BEGIN
GENERATE:
BEGIN try
IF <someCondi>
BEGIN
...
END
ELSE
BEGIN
...
END
END try
BEGIN catch
IF <someCondi>
BEGIN
...
END
if @LoopCount<=2
begin
goto GENERATE
end
END catch
END
我已经转换了大部分存储过程部分,但我需要替换其他部分。不知道如何在 pgsql 中转换 try catch 以及 GOTO 的替代方法。请帮忙
【问题讨论】:
-
"不知道如何在 pgsq 中转换 try catch" - PostgreSQL 手册中的Trapping Errors
-
@a_horse_with_no_name 我看到了 Trapping 错误,但问题是在这种情况下不知道如何使用它
-
如果您不了解两种语言或方言,则无法将代码从一种语言或方言转换为另一种。在这种情况下,语法非常相似 - 不是 BEGIN TRY,而是 BEGIN。而不是BEGIN CATCH,例外
标签: sql-server postgresql stored-procedures plpgsql