powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Обновить список в поле, не стирая и не повторяя значения.
8 сообщений из 8, страница 1 из 1
Обновить список в поле, не стирая и не повторяя значения.
    #40004141
Всем привет.

Вот есть такой скрипт, например:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
declare
   v_c pls_integer;
   v_s varchar(7) := 'params';
begin
   select 1 into v_c from table_params where lower(column_name) = lower(v_s);
   if (v_c = 1) then
      execute immediate 'update table_params set values = ''A1,A2,A3''
         where lower(column_name) = lower('''||v_s||''')';
      commit;
   end if;
end;
/



И надо туда добавить, например, A10. Причем в этом поле уже могут быть какие-то другие значения, в том числе и A10. Если есть A10 - то не добавлять. Если нет - сохранить все, что есть - и добавить также через запятую в конец... как бы это сделать?
...
Рейтинг: 0 / 0
Обновить список в поле, не стирая и не повторяя значения.
    #40004142
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если в первом запросе не нужна динамика
зачем она во втором?
...
Рейтинг: 0 / 0
Обновить список в поле, не стирая и не повторяя значения.
    #40004143
andreymx,
Спасибо!
Да, не нужна динамика.
...
Рейтинг: 0 / 0
Обновить список в поле, не стирая и не повторяя значения.
    #40004144
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем проверочный селект?
...
Рейтинг: 0 / 0
Обновить список в поле, не стирая и не повторяя значения.
    #40004146
Ну там если скрипт прогоняют где-то, где в column_name нет 'params', тогда не выполняем.. в принципе, можно и без проверочного.
...
Рейтинг: 0 / 0
Обновить список в поле, не стирая и не повторяя значения.
    #40004147
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерно
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
declare
   v_s varchar2(7) := 'params';
begin
    update table_params
       set values = values || ',A10'
     where lower(column_name) = lower(v_s)
       and ','||values||',' not like '%,A10,%';
end
...
Рейтинг: 0 / 0
Обновить список в поле, не стирая и не повторяя значения.
    #40004148
andreymx,
Ого, супер! Спасибо, сейчас попробую.
...
Рейтинг: 0 / 0
Обновить список в поле, не стирая и не повторяя значения.
    #40004149
andreymx,
Работает просто супер, большое спасибо!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Обновить список в поле, не стирая и не повторяя значения.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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