powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите решить проблему в CLP
3 сообщений из 3, страница 1 из 1
Помогите решить проблему в CLP
    #37066484
FndCentu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, что неверно в моем коде. База DB2 версии 9.5
Пользуюсь command line processor (CLP) в режиме command mode.
Выполняю команду: db2 -f D:/rrr/in_file.txt.
В файле in_file.txt находятся команды SQL (DECLARE переменных,
DECLARE my_cursor CURSOR FOR).
Далее я делаю OPEN my_cursor.
Команды DECLARE, DECLARE my_cursor CURSOR FOR и OPEN my_cursor
выполняются корректно, А команда

DO UNTIL SQLCODE = 100 \
FETCH my_cursor \
INTO :AGREEMENT_NAME \
,:CONTRACT_ID \
,:VALUE_STRING \
,:CONT_ID \
,:REF_NUM \
,:SB_GIVEN_NAME_ONE \
,:SB_GIVEN_NAME_TWO \
,:SB_LAST_NAME_ONE \
END-DO

дает ошибку:

DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0104N An unexpected token "DO UNTIL SQLCODE = 100 FE" was found following
"BEGIN-OF-STATEMENT". Expected tokens may include:
"<table_value_constructor>". SQLSTATE=42601


Буду очень признателен за помощь.
...
Рейтинг: 0 / 0
Помогите решить проблему в CLP
    #37066673
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL Procedural Language (SQL PL) используется внутри хранимых процедур.
Его подмножество - Inline SQL PL может использоваться внутри
Код: plaintext
1.
2.
BEGIN ATOMIC
...
END@
и там нет DECLARE CURSOR (вместо этого надо использовать FOR).
Поэтому, вы можете использовать либо процедуру для своей логики, либо Inline SQL PL вместе с другими командами SQL в командном режиме.
Обратите внимание, что для того, чтобы использовать BEGIN ATOMIC ... END внутри своего скрипта, вы должны изменить символ завершения команды (например, на @) и запуск скрипта типа:
--- my_file.txt ---
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
command1@

begin atomic
  declare v1 ...;
  ...
end@

command2@
---
Командой
db2 -td@ -f my_file.txt
...
Рейтинг: 0 / 0
Помогите решить проблему в CLP
    #37066877
FndCentu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein, Спасибо Большое!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите решить проблему в CLP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]