我正在尝试将不同值提取到 SAP HANA 中的 For 循环中,但我没有将所有不同值提取到 For 循环中

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

我正在尝试使用 CURSOR 和 For 循环将不同值提取到 SAP HANA 中的 For 循环中,但我没有将所有不同值提取到 For 循环中。我在输出中只得到 5 个名称,而不是 10 个不同的名称。你能指导我正确的 SQL 吗?

CREATE PROCEDURE DBADMIN.FetchDistinctStrings()
LANGUAGE SQLSCRIPT
AS
BEGIN
        DECLARE STRING1 VARCHAR(255);
        DECLARE CURSOR MyTenIDFetch (STRING1 VARCHAR(255)) FOR
        SELECT DISTINCT EMPLOYEE_NAMES FROM "H_CPO_MAIN"."TABLE_NURO";
        OPEN MyTenIDFetch(:STRING1);
        FETCH MyTenIDFetch INTO STRING1;
        FOR CUR_ROW AS MyTenIDFetch(STRING1) DO
        SELECT STRING1 as STRING_NAMES FROM DUMMY;
        END FOR;
    CLOSE MyTenIDFetch;
END;
hana hana-sql-script sap mssql-scripter
1个回答
0
投票

当使用带有

FOR ... LOOP
的光标时,会自动处理
OPEN
FETCH
CLOSE
命令。 除了
FOR ... LOOP
之外,在代码中包含这些命令是多余的。

检查文档中的示例

此外,在 SELECT 命令中永远不会引用光标参数

STRING1

© www.soinside.com 2019 - 2024. All rights reserved.