HANA sql - 无法在子查询中使用序列号

时间:2015-05-29 08:19:52

标签: sql subquery sequence hana

使用SAP Hana Studio,我试图使用最后插入行的id。我得到的错误是“功能不受支持。此处不允许使用序列号”。

INSERT INTO RI_PORTFOLIO.GAR_ESTUDOS VALUES
                            (SEQ_ID_ESTUDO.NEXTVAL,
                             9, 10, 'RI_PORTFOLIO.ATRIBUTOS_DE_UC', NULL, 11);

SELECT * FROM RI_PORTFOLIO.GAR_ESTUDOS WHERE ID_ESTUDO = (SELECT TOP 1 SEQ_ID_ESTUDO.CURRVAL FROM RI_PORTFOLIO.GAR_ESTUDOS);

我怎样才能拿到最后插入的ID?我不熟悉哈纳方言。

1 个答案:

答案 0 :(得分:0)

您不能在select语句或where子句中使用序列。我今天也刚刚发现了这个!

检查此页面,了解有关可以和不能使用序列CURRVAL或NEXTVAL的更多信息。

https://help.sap.com/saphelp_hanaplatform/helpdata/en/20/d509277519101489029c064d468c5d/content.htm

也许找到当前序列值并使用它来填充局部变量,然后在where语句中使用它。这可能是一种解决方法吗?