创建函数:功能不受支持:不允许子查询

2020-08-25 20:11发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们:

我正在尝试做一个函数

创建或替换功能get_test()

返回名称varchar

AS

开始

名称:=(

SELECT COALESCE(user_no,'')|| '^'|| COALESCE(clph_no,'')AS名称

FROM USER_SEQ_NO WHERE user_no =''

);

END

SQL错误[7] [HY000]:SAP DBTech JDBC:[7](在102):不支持的功能:不允许子查询:第5行第10行(在pos 102)

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们:

我正在尝试做一个函数

创建或替换功能get_test()

返回名称varchar

AS

开始

名称:=(

SELECT COALESCE(user_no,'')|| '^'|| COALESCE(clph_no,'')AS名称

FROM USER_SEQ_NO WHERE user_no =''

);

END

SQL错误[7] [HY000]:SAP DBTech JDBC:[7](在102):不支持的功能:不允许子查询:第5行第10行(在pos 102)

谢谢

付费偷看设置
发送
1条回答
半个程序猿
1楼 · 2020-08-25 20:58.采纳回答

您可以使用以下命令替换函数体(当然,这确实有意义,您实际上只有一个条目,其中user_no等于"):

 SELECT TOP1 COALESCE(user_no,'')||  '^'|| COALESCE(clph_no,``)
INTO名称 FROM USER_SEQ_NO WHERE user_no ='';

正如Mike在注释部分中已经提到的那样,您必须增加name参数的长度(否则,如果结果的长度大于1,则会出现错误)。

# p#

您是否已将Select查询与函数分开进行测试?

RETURNS名称varchar也不应该是RETURNS名称varchar(40)或类似名称吗?

请注意,Mike

一周热门 更多>