Как работает курсор, цикл WHILE в DB2 i-Series

Просто пытаясь понять, сколько раз будет выполняться "EXECUTE SQLStmt", учитывая, что DISTINCT Col возвращает 5 строк, а COUNT(*) возвращает 10 строк.

DECLARE c1 Cursor with return for 
SELECT Distinct Col as LIB FROM Page.Libraries 
ORDER BY Col;

SET numrecs = 0;
SET numcount = 1;
SET c_LIB = ' ';

SELECT COUNT(*) INTO numrecs FROM Page.Libraries;

OPEN c1;
WHILE numcount <= numrecs DO
    P2 : BEGIN
        FETCH c1 INTO c_LIB;
        SQLStmt = 'insert statement' || c_LIB
        EXECUTE IMMEDIATE SQLStmt;
        SET numcount = numcount + 1;
    END P2;
END WHILE;

Я знаком с SQL Server, но запутался с синтаксисом Db2.

0 ответов

Другие вопросы по тегам