SAP HANA 原生过程 SQL,在函数内创建函数不起作用

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

我想在本机 SAP HANA SQL 中的函数内创建函数

CREATE or REPLACE FUNCTION my_func (pi_param VARCHAR(1))
RETURNS v_return varchar(10) AS
BEGIN
  DECLARE ....;
  DECLARE ....;
  FUNCTION my_local_func (pi_param INTEGER)
  RETURNS v_return INTEGER AS
  BEGIN
  ...
  ...
  END;
END;

在 Oracle PL/SQL 中,我只需在 my_func 定义的“AS”和“BEGIN”之间声明 my_local_func 以及本地所需的变量。这在 SAP HANA 中不起作用。在“BEGIN”部分之后它也不起作用(如本示例中所述)。

所以我的问题是,如何在原生 HANA SQL 中的函数内定义函数。

hana hana-sql-script
1个回答
0
投票

这在 HANA 中不起作用的原因是 HANA 不使用 PL/SQL 作为过程 SQL 扩展语言。

相反,它有自己的专有语言,称为 SQLScript。

语法文档使用 Bakus-Naur 形式来列出哪些命令可以进入过程,而本地函数不属于其中。

简而言之:过程局部函数在 SQLScript 中不可用。 但是,您可以定义并将函数分组到其中。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.