Как работает курсор, цикл 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.