使用变量的SQL语句在HANA上出现错误

2020-09-05 03:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我正在尝试编写如下的...

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

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


专家们,

我正在尝试编写如下的SQL语句,该语句获取最新完整数据备份的备份ID,并在备份ID之前删除备份。

--------------------------------------------------- ----------------------------------------
DO
BEGIN
DECLARE Y_BACKUP_ID BIGINT;
从M_BACKUP_CATALOG的SYS_START_TIME =中选择BACKUP_ID到Y_BACKUP_ID =(从M_BACKUP_CATALOG的SELECT最大(SYS_START_TIME)到ENTRY_TYPE_NAME ='完整数据备份'); > ------------------------------------------------- --------------------------------------

但是,我在下面出现错误。
有人可以告诉我此SQL语句在哪里出问题吗?

--------------------------------------------------- ----------------------------------------
无法执行"开始声明" Y_BACKUP_ID BIGINT; 从M_BACKUP_CATALOG WHERE中选择BACKUP_ID INTO Y_BACKUP_ID ...'
SAP DBTech JDBC:[257]:sql语法错误:":Y_BACKUP_ID"附近的语法不正确:第5列第45行(在pos 267)
---- -------------------------------------------------- ---------------------------------

谢谢。

2条回答
南山jay
2020-09-05 04:29

您正在执行选择查询,该查询返回表结果并将其分配给包含单个值的变量。

这样做。 (确保select查询返回单个值以避免聚合)

 DO
 开始
 DECLARE Y_BACKUP_ID BIGINT;


 SELECT SUM(BACKUP_ID)INTO Y_BACKUP_ID FROM M_BACKUP_CATALOG WHERE SYS_START_TIME =(SELECT max(SYS_START_TIME)FROM M_BACKUP_CATALOG WHERE ENTRY_TYPE_NAME ='complete data backup');


 BACKUP CATALOG删除BACKUP_ID之前的所有内容:Y_BACKUP_ID COMPLETE;


 结束;
 

一周热门 更多>