Необязательный выходной параметр хранимой процедуры SAP HANA с типом текста
Давайте представим, что я создал хранимую процедуру в базе данных SAP HANA и хотел бы иметь необязательный параметр out с типом текста, например подробности об ошибке. Как я прочитал, чтобы достичь этого, я должен использовать некоторое значение по умолчанию, поэтому я сделал так:
PROCEDURE "myProcedure"
(
IN inSomeParameter BIGINT,
OUT outResult INTEGER, -- output, result of the operation
OUT outErrorDetail NVARCHAR(32) default ''
)
К сожалению, сборка не удалась со следующей ошибкой:
Параметры OUT и IN OUT могут не иметь выражений по умолчанию
Итак, я решил попробовать с нулем, но так же не получилось. Позже я просто изменил тип на integer, чтобы попытаться, и он снова не удался точно так же.
В то же время это работает:
PROCEDURE "myProcedure"
(
IN inSomeParameter BIGINT,
OUT outResult INTEGER, -- output, result of the operation
OUT outErrorDetail TABLE(errorDetails NVARCHAR(32)) default empty
)
но это кажется огромным излишним - создать таблицу, которая будет возвращать только одно текстовое значение.
Есть ли у вас какие-либо предложения, как добавить необязательный выходной параметр?
1 ответ
SQL Script в своем текущем состоянии не допускает необязательных параметров OUT. Почему бы просто не установить значение по умолчанию для параметра OUT в теле процедуры прямо перед кодом? Это добавляет стандартный код, но вы также можете использовать его для передачи явных сообщений об успехе.