带有文本类型的SAP HANA存储过程可选输出参数



让我们想象一下,我已经在SAP HANA数据库中创建了存储过程,并希望使用文本类型具有可选的OUT参数,例如错误详细信息。当我阅读以实现这一目标时,我应该使用一些默认值,因此我这样做了:

PROCEDURE "myProcedure"
(
    IN  inSomeParameter  BIGINT,
    OUT outResult        INTEGER,   -- output, result of the operation
    OUT outErrorDetail   NVARCHAR(32) default ''
)

不幸的是,构建失败了以下错误:

out of out参数可能没有默认表达式

所以,我决定尝试使用 null ,但它以相同的方式失败。后来,我将类型更改为整数只是为了尝试,然后再次失败。

与此同时,这有效:

PROCEDURE "myProcedure"
(
    IN  inSomeParameter  BIGINT,
    OUT outResult        INTEGER,   -- output, result of the operation
    OUT outErrorDetail   TABLE(errorDetails NVARCHAR(32)) default empty
)

,但感觉就像是一个巨大的过度杀伤力 - 制作一个桌子以返回一个文本值。

您是否有任何建议如何添加可选的输出参数?

sql脚本在其当前状态中不允许可选的参数。您为什么不只是在代码之前将过程主体中的参数默认值设置?这添加了样板代码,但您也可以使用它来传达明确的成功消息。

最新更新