当前位置: 首页 > 知识库问答 >
问题:

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

吉泰宁
2023-03-14

假设我已经在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个答案

白智
2023-03-14

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

 类似资料:
  • 问题内容: 我有一个来自此(google book )的mysql存储过程,一个例子是这样的: 该程序编译正常。(我在ubuntu中使用MySQL查询浏览器)。 但是,当我调用该过程时: (也在查询浏览器中) 它返回一个错误: 为什么这个例子不起作用? 问题答案: 无法复制。对我来说效果很好: 也许您应该粘贴整个错误消息,而不是对其进行汇总。

  • 问题内容: 我有一个表单,用户可以指定各种参数来挖掘某些数据(状态,日期等)。 我可以产生一个查询: 等等。每一个都是可选的(我可以选择带有的所有行,或者带有的所有行,或者带有etc的所有行)。 给定大量参数(全部为可选参数),组成动态存储过程的最佳方法是什么? 我正在处理各种数据库,例如:MySQL,Oracle和SQLServer。 问题答案: 实现此目的的最简单方法之一: 等等。这完全消除了

  • 输入/输出示例: infoData序列化输入:总长度5191 当,NVARCHAR(1000),infoData值:总长度-1003 帮助我获得完整的info_Data原样,没有任何丢失或截断。 提前道谢。

  • 本文向大家介绍Sql Server 存储过程调用存储过程接收输出参数返回值,包括了Sql Server 存储过程调用存储过程接收输出参数返回值的使用技巧和注意事项,需要的朋友参考一下 创建存储过程: 接收输出参数: 2,带返回值 创建存储过程: 接收返回值: 以上所述是小编给大家介绍的Sql Server 存储过程调用存储过程接收输出参数返回值,希望对大家有所帮助,如果大家有任何疑问请给我留言,小

  • 我在HANA数据库中创建了这个存储过程,它使用两个参数,一个是表类型,另一个是。 现在我想在Java中调用这个过程,我写了这样的东西。 有人能告诉我在调用此存储过程时,如何将对象作为参数中的表实体传递吗?

  • 问题内容: 我正在编写一些更新表的代码。根据用户想要执行的操作,它会更新大量的记录,也可能更新较小的记录。描绘因素是组ID。 用户可以选择是更新所有记录的表,还是仅更新具有该groupID的记录。我想对两个实例都使用相同的存储过程,也许在其中有一点逻辑来区分场景。(我不想使用90%相同的代码编写两个存储的proc。) 我不是存储过程的专家,也不知道是否可以传入可选参数,或者如何根据groupID是