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

问题描述 投票:0回答:1

让我们假设我已经在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,但它以同样的方式失败了。后来我将类型更改为整数只是为了尝试,它再次以完全相同的方式失败。

同时这有效:

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

但感觉就像一个巨大的矫枉过正 - 使一个表只返回一个文本值。

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

stored-procedures hana hana-sql-script
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.