在 DB2 SQL 函数中,是否有等同于 JAVA 和 .Net.. 中的 Finally 块?
In a DB2 SQL function, is there an equivalent to the Finally block in JAVA and .Net..?
在 DB2-400 v7.3 中,函数或过程是否与 JAVA 中的 Finally
块等效?引用 documentation:
The Finally
block always executes when the try block exits.
它用于该段代码所需的清理目的。在 DB2 函数中,它可用于删除临时对象,例如声明的全局临时表。
如果 DB2 没有这样的特性,那还不是世界末日。它可以很容易地在代码中模拟。
全局临时表在作业结束时消失,因此无需清理它们。 SQL 没有 try() catch() 块,所以也没有 finally 子句。
如果您需要该功能,您可以在 Java 中编写存储过程,但我希望它们的性能较低,因为 SQL 存储过程是使用 C 编译的(它也没有finally 块)。
或者,您可以使用 RPGLE 子过程编写存储过程,这些子过程确实有一个退出块,该块在子过程结束时运行,无论是正常结束还是异常结束。
在 DB2-400 v7.3 中,函数或过程是否与 JAVA 中的 Finally
块等效?引用 documentation:
The
Finally
block always executes when the try block exits.
它用于该段代码所需的清理目的。在 DB2 函数中,它可用于删除临时对象,例如声明的全局临时表。
如果 DB2 没有这样的特性,那还不是世界末日。它可以很容易地在代码中模拟。
全局临时表在作业结束时消失,因此无需清理它们。 SQL 没有 try() catch() 块,所以也没有 finally 子句。
如果您需要该功能,您可以在 Java 中编写存储过程,但我希望它们的性能较低,因为 SQL 存储过程是使用 C 编译的(它也没有finally 块)。
或者,您可以使用 RPGLE 子过程编写存储过程,这些子过程确实有一个退出块,该块在子过程结束时运行,无论是正常结束还是异常结束。