powered by simpleCommunicator - 2.0.34     © 2025 Programmizd 02
Форумы / Informix [игнор отключен] [закрыт для гостей] / Задачка для дев/дба - 5
5 сообщений из 5, страница 1 из 1
Задачка для дев/дба - 5
    #39863644
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня писал скрипт для генерации UPDATE statements для компаний, у которых адреса не совпадают с эталоном.
Причем после каждого апдейта надо еще вставить "call updt_audit_req_by ( "кто потребовал апдейт").

Ну, натурально пишу

UNLOAD TO upd_company_addr1.sql DELIMITER ";"
SELECT "update company set address_1 = '" || trim(nvl(t.address_1, '')) || "' where company_number = " || t.company_number ||
'; call updt_audit_req_by('blame Joe!'")'
FROM t_company t, company c
WHERE t.company_number = c.company_number
AND UPPER(nvl(t.address_1, '')) <> UPPER (nvl(c.address_1, ''));


На выходе получаю

update company set address_1 = 'Bla-bla-bla' where company_number = 1000 \; call updt_audit_req_by('blame Joe!');

Не работает. Потому что делимитер, встреченный в выходных данных, предваряется "\" .

Внимание, вопрос!

Как поменять текст UPLOAD чтобы исправить синтаксис?


В таком вот аксепте
...
Рейтинг: 0 / 0
Задачка для дев/дба - 5
    #39863788
Ikir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выбегалло,

Код: plsql
1.
2.
SELECT "update company set address_1 = '" || trim(nvl(t.address_1, '')) || "' where company_number = " || t.company_number, 
" call updt_audit_req_by('blame Joe!')"
...
Рейтинг: 0 / 0
Задачка для дев/дба - 5
    #39864218
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IkirВыбегалло,

Код: plsql
1.
2.
SELECT "update company set address_1 = '" || trim(nvl(t.address_1, '')) || "' where company_number = " || t.company_number, 
" call updt_audit_req_by('blame Joe!')"



неверно. Между UPDATE и CALL должна быть точка с запятой ";"
...
Рейтинг: 0 / 0
Задачка для дев/дба - 5
    #39864443
Ikir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неверно.Если должна быть, значит есть.
Код: sql
1.
2.
  unload to 'test.unl' DELIMITER ';'
 select " update x set y = 1"," call z" from table(set{1});



Код: sql
1.
 update x set y = 1; call z;
...
Рейтинг: 0 / 0
Задачка для дев/дба - 5
    #39864826
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ikir,

да вы правы. Я шо-то протормозил что delimiter между полями, а не между строками.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Задачка для дев/дба - 5
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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