Подробную информацию об обработке и поведении CURSOR в Teradata смотрите на стр. 47 в http://www.info.teradata.com/do_redirect.cfm?itemid=062280010
В основном, эквивалент OPEN_CUR1%NOTFOUND
от Oracle в Teradata состоит в том, что SQLSTATE
установлен на 7362
, а SQLCODE
на '02000'
... для обработки вы можете проверить страницы 49, 76, 192- 198, 405 и след. вышеуказанного документа.
РЕДАКТИРОВАТЬ - согласно комментарию:
Из примера на стр. 49
CREATE PROCEDURE sp1 (OUT par1 CHARACTER(50))
BEGIN
DECLARE var1 INTEGER;
DECLARE projcursor CURSOR FOR
SELECT projid, projectdesc
FROM project;
OPEN projcursor;
WHILE (SQLCODE = 0)
FETCH projcursor INTO var1, par1;
END WHILE;
FETCH projcursor INTO var1, par1;
CLOSE projcursor;
END;
Они используют WHILE (SQLCODE = 0)
, что в основном означает «пока все хорошо и данные доступны».