在DB2SQL函数中,是否存在与JAVA和.Net中的Finally块等效的函数。。?

在DB2SQL函数中,是否存在与JAVA和.Net中的Finally块等效的函数。。?,db2,db2-400,Db2,Db2 400,在DB2-400V7.3中,函数或过程是否与JAVA中的Finally块等效。。?引述: 当try块退出时,Finally块始终执行 它用于该段代码所需的清理目的。在DB2函数中,它可以用于删除临时对象,例如声明的全局临时表 如果DB2没有这样一个特性,那也不是世界末日。它可以很容易地在代码中进行模拟。全局临时表在作业结束时消失,因此无需清理它们。SQL没有try()catch()块,因此也没有finally子句 如果需要该功能,您可以用Java编写存储过程,但我希望这些性能会更低,因为SQL存

在DB2-400V7.3中,函数或过程是否与JAVA中的
Finally
块等效。。?引述:

当try块退出时,
Finally
块始终执行

它用于该段代码所需的清理目的。在DB2函数中,它可以用于删除临时对象,例如声明的全局临时表


如果DB2没有这样一个特性,那也不是世界末日。它可以很容易地在代码中进行模拟。

全局临时表在作业结束时消失,因此无需清理它们。SQL没有try()catch()块,因此也没有finally子句

如果需要该功能,您可以用Java编写存储过程,但我希望这些性能会更低,因为SQL存储过程是使用C编译的(C也没有finally块)


或者,您也可以使用RPGLE子过程编写存储过程,该子过程确实有一个on-exit块,该块在子过程结束时运行,无论是正常结束还是异常结束。

True。我已经到了我要在这个函数中写一些自我管理的时候了。除非我弄错了,否则这个版本的DB2(对于I7.3)没有JAVA。至于RPG…一天只有这么多小时。根据7.3,支持存储过程的语言有:
C
C++
CL
COBOL
COBOLLE
JAVA
PLI
REXX
RPG
,还有
RPGLE
。我的印象是我们的系统没有Java,或者它被禁用了。C++与java相似,我通常可以阅读和理解它,但其余的我几乎一无所知。话虽如此,您的评论为DB2标签提出了一个有趣的问题:“如何确定在我们的DB2系统上可以访问哪些语言?”您可以使用
GO-LICPGM
,然后使用选项10来显示已安装的许可程序。在描述中搜索“JavaSE”。如果你能找到它,你就有了Java。当我键入
GO-LICPGM
,空白[或隐藏]屏幕上什么也不会发生。可能是因为我们搬到了这个新的托管/共享系统。更少的维护,也更少的自由。许多命令被禁用,无法访问文件系统。然而,我确实在我们的旧私有服务器上尝试了这个命令,它仍然在运行,并且工作得很好。我可以看到
C++
COBOL
RPG
,等等。我想我可以尝试在
JAVA
中创建一个存储过程/函数,看看会发生什么。如果行得通,呜呼。如果没有,那好。我一直想做一个UPC校验数字验证器。