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