Я переношу с MS SQL Server на IBM DB2 (версия 9.7). Попытка написать соединение SQL While Loop с локальными переменными (не часть хранимой процедуры), что-то вроде -IBM DB2 Control Loop
BEGIN ATOMIC
DECLARE i INT DEFAULT 12;
WHILE i > 0
"DO ....";
SET COUNT = COUNT - 1;
END WHILE;
END
Но я получаю ошибку только в первой строке для объявления variables-
SQL0104N An unexpected token "12" was found following "ECLARE I INT DEFAULT". Expected tokens may include: "END-OF-STATEMENT"
Любая помощь приветствуется.
Ваш код имеет что-то вроде кучи синтаксических ошибок и необъявленных переменных. Если вы покажете свой фактический код вместо чего-то подобного, кто-то может предложить что-то вроде помощи. – mustaccio
Фактический код, который очень близок к коду «что-то вроде» выше - BEGIN ATOMIC DECLARE i INT DEFAULT 12; WHILE i> 0 DO INSERT INTO TEMP_ITERATIONS VALUES 'IT' || RTRIM (CHAR (COUNT)); SET COUNT = COUNT - 1; END WHILE; END – user455580
Ну, вы объявляете 'i INT', но затем уменьшаете' COUNT' в цикле - не уверен, что я понимаю логику здесь. Предложение 'VALUES' в' INSERT' требует скобок. Я предлагаю вам просмотреть синтаксические диаграммы в руководстве. – mustaccio