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

SAP HANA Stored Procedure optional output parameter with text type

假设我已经在 SAP HANA 数据库中创建了存储过程,并且希望有可选的文本类型输出参数,例如 错误详细信息。正如我所读到的那样,我应该使用一些默认值,因此我这样做了:

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

很遗憾,构建失败并出现以下错误:

OUT and IN OUT parameters may not have default expressions

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

与此同时有效:

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

但这感觉有点矫枉过正 - 让 table 到 return 只有一个文本值。

您对如何添加可选输出参数有什么建议吗?

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