Необязательный выходной параметр хранимой процедуры SAP HANA с типом текста - PullRequest
0 голосов
/ 01 марта 2019

Давайте представим, что я создал хранимую процедуру в базе данных 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
)

, но это кажется огромным излишним - сделатьтаблица для возврата только одного текстового значения.

Есть ли у вас какие-либо предложения, как добавить необязательный выходной параметр?

1 Ответ

0 голосов
/ 02 марта 2019

SQL-скрипт в своем текущем состоянии не допускает необязательных параметров OUT.Почему бы просто не установить значение по умолчанию для параметра OUT в теле процедуры прямо перед кодом?Это добавляет шаблонный код, но вы также можете использовать его для передачи явных сообщений об успехе.

...