Есть ли в функции DB2 SQL эквивалент блока "Наконец" в JAVA и .Net ..? - PullRequest
0 голосов
/ 20 сентября 2019

В DB2-400 v7.3 есть ли функции или процедуры, эквивалентные блоку Finally, как в JAVA ..?Цитируя документацию :

Блок Finally всегда выполняется при выходе из блока try.

Он используется для целей очистки, необходимых для этого.раздел кода.В функции DB2 ее можно использовать для удаления временных объектов, таких как объявленные глобальные временные таблицы.

Если у DB2 нет такой возможности, это не конец света.Это можно легко смоделировать в коде.

1 Ответ

1 голос
/ 20 сентября 2019

Глобальные временные таблицы исчезают, когда работа заканчивается, поэтому нет необходимости их очищать.В SQL нет блока try () catch (), поэтому нет и предложения finally.

Вы можете писать хранимые процедуры на Java, если вам нужны эти функции, но я ожидаю, что они будут менее производительными, поскольку хранимые процедуры SQL компилируются с использованием C (который также не имеет блока finally).

В качестве альтернативы вы могли бы написать свои хранимые процедуры с помощью подпроцедур RPGLE, у которых действительно есть блок при выходе, который выполняется, когда подпроцедура заканчивается, является ли это нормальным или ненормальным завершением.

...