Db2 SQL: повторить строку с использованием CTE
Я использую следующий (фиктивный) код для создания повторяющейся строки:
Результаты с ошибкой:
08:33:12 FAILED [С - 0 строк, 0,235 секунд] 1) [Код: -343, состояние SQL: 42908] Имена столбцов необходимы для рекурсивного общего табличного выражения "myuser.CTE".. SQLCODE=-343 , SQLSTATE=42908, DRIVER=4.28.11 2) [Код: -727, Состояние SQL: 56098] Произошла ошибка во время неявного системного действия типа "2". Информация, возвращаемая для ошибки, включает SQLCODE "-343", SQLSTATE "42908" и токены сообщения "myuser.CTE". SQLCODE=-727, SQLSTATE=56098, DRIVER=4.28.11
Любые идеи, пожалуйста; Спасибо
К вашему сведению, приведенный выше пример кода был создан ChatGPT. В этом смысле это должно быть правильно ;о)
1 ответ
Пробовали ли вы действовать в соответствии с тем, что говорится в сообщении?
«Имена столбцов необходимы для рекурсивного общего табличного выражения»
Другими словами, попробуйте «С CTE(номер_строки)…»
Однако ваш общий запрос не имеет особого смысла.
Если вы хотите видеть только 5 имен таблиц, ваш внешний запрос может использоватьfetch first 5 rows only
и тогда вам вообще не понадобится CTE, вам нужен только запрос к sysibm.systables с предложением fetch first.