powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / update
16 сообщений из 16, страница 1 из 1
update
    #39780272
elimpion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, подскажите как сделать update
сейчас код такой, не он не подходит в строке два он заменит "15699997" на "8500004" а нужно, чтобы было "15699997,8500004"
Код: plsql
1.
2.
update brsactioncode b 
set b.contractkind = 8500004
...
Рейтинг: 0 / 0
update
    #39780278
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM Concatenation operator
Но лучше вернуться к изучению основ. Или нанять архитектора.
...
Рейтинг: 0 / 0
update
    #39780280
elimpion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,

основы это и есть update
...
Рейтинг: 0 / 0
update
    #39780292
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elimpionElic,

основы это и есть updateпод основами подразумевалось теория баз данных. Нормальные формы и всё такое... Рано вам ещё апдейты писать.
...
Рейтинг: 0 / 0
update
    #39780330
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elimpion,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SQL> select contractkind,rowid from brsactioncode;

CONTRACTKIND         ROWID
-------------------- ------------------
                     AADO2DAAIAAEYY0AAA
15699997             AADO2DAAIAAEYY0AAB

SQL> update brsactioncode set CONTRACTKIND=CONTRACTKIND||','||'8500004' where rowid='AADO2DAAIAAEYY0AAB';

1 row updated.

SQL> select contractkind,rowid from brsactioncode;

CONTRACTKIND         ROWID
-------------------- ------------------
                     AADO2DAAIAAEYY0AAA
15699997,8500004     AADO2DAAIAAEYY0AAB



....
stax
...
Рейтинг: 0 / 0
update
    #39780340
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,
если уж помогаешь этому лодырю, то читай внимательнее, что надо сделать.
...
Рейтинг: 0 / 0
update
    #39780346
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123йй,

упс. rowid не заметил. сорри.
...
Рейтинг: 0 / 0
update
    #39780360
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123йй123йй,

упс. rowid не заметил. сорри.

мож elimpion-у и без where надо, не знаю

в строке 1 могут быть как null так и пробельчики, допилит

.....
stax
...
Рейтинг: 0 / 0
update
    #39780377
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййпомогаешь этому лодырюОно, конечно, не в коня рыба. Правильнее было бы удочку приложить ... поперек задней части.
Но и Staxу приписывать чисто альтруизм нет оснований. Может ему нравится ритм клавиш при наборе s,e,l,e,c,t и он пользуется любой возможностью совместить приятное с ненужным.
...
Рейтинг: 0 / 0
update
    #39780529
elimpion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
update brsactioncode b set CONTRACTKIND= decode(CONTRACTKIND, null, 8500004, CONTRACTKIND||','||8500004) 


вот вариант, подойдет для пустой и не пустой строки
только ошибка возникает invalid number, подскажите как исправить
...
Рейтинг: 0 / 0
update
    #39780535
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elimpionподскажите как исправитьRTFM decode, тип результата
...
Рейтинг: 0 / 0
update
    #39780540
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elimpionвот вариант

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  1* update brsactioncode b set CONTRACTKIND= decode(CONTRACTKIND, null, '8500004', CONTRACTKIND||',8500004')
SQL> /

2 rows updated.

SQL> select CONTRACTKIND,rowid from brsactioncode;

CONTRACTKIND         ROWID
-------------------- ------------------
8500004              AADO3hAAIAAEYYzAAA
15699997,8500004     AADO3hAAIAAEYYzAAB



зи
какой тип поля CONTRACTKIND?

.....
stax
...
Рейтинг: 0 / 0
update
    #39780548
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SQL> update brsactioncode b set CONTRACTKIND= decode(CONTRACTKIND, null, 8500004, CONTRACTKIND||','||8500004) ;

2 rows updated.

SQL> select CONTRACTKIND,rowid from brsactioncode;

CONTRACTKIND         ROWID
-------------------- ------------------
8500004              AADO3hAAIAAEYYzAAA
15699997,8500004     AADO3hAAIAAEYYzAAB



.....
stax
...
Рейтинг: 0 / 0
update
    #39780570
elimpion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

VARCHAR2(4000)
оба ваши варианта не подошли, ошибка
странно то что в отдельности он работает и ошибок не возникает
Код: plsql
1.
2.
update brsactioncode b set 
b.CONTRACTKIND=  b.CONTRACTKIND||',8500004'
...
Рейтинг: 0 / 0
update
    #39780578
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elimpionStax,

VARCHAR2(4000)
оба ваши варианта не подошли, ошибка
странно то что в отдельности он работает и ошибок не возникает
Код: plsql
1.
2.
update brsactioncode b set 
b.CONTRACTKIND=  b.CONTRACTKIND||',8500004'


какая ошибка?


как написал Елик, решение
Код: plsql
1.
update brsactioncode b set CONTRACTKIND= decode(CONTRACTKIND, null, 8500004, CONTRACTKIND||','||8500004) 

грубо говоря неверное , из-за типа (number) возвращаемого значения decode
очень ограніченном случае может и отработать 21822027 )

зы
решений много, напр nvl2

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SQL> update brsactioncode set CONTRACTKIND=nvl2(CONTRACTKIND,CONTRACTKIND||',8500004','8500004');

2 rows updated.

SQL> select CONTRACTKIND,rowid from brsactioncode;

CONTRACTKIND         ROWID
-------------------- ------------------
8500004              AADO3hAAIAAEYYzAAA
15699997,8500004     AADO3hAAIAAEYYzAAB



....
stax
...
Рейтинг: 0 / 0
update
    #39780588
elimpion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

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


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