Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 Update Statement  [new]
-_Михаил_-
Member

Откуда: FFM
Сообщений: 206
Привет!

Есть таблица KONTO с полем MANDANT и прочими. Необходимо поменять значение в поле MANDANT во всех полях

Пишу
UPDATE KONTO SET MANDANT='TXVWT' WHERE HAUPTKONTONUMMER='NL*'
Получаю ошибку
SQL0100W No row was found for FETCH, UPDATE or DELETE; or the result of a
query is an empty table. SQLSTATE=02000

Если пытаюсь изменить указывая только одно поле, то получается

UPDATE KONTO SET MANDANT='TXVWT' WHERE HAUPTKONTONUMMER='NL03VOWA0434458058'
DB20000I The SQL command completed successfully.

Но полей там у меня много

Вопрос:

Как обновитъ все поля одним приказом

Спасибо заранее
30 мар 16, 13:17    [18995459]     Ответить | Цитировать Сообщить модератору
 Re: Update Statement  [new]
mahaon2000
Member

Откуда: оттуда
Сообщений: 92
-_Михаил_-,

UPDATE KONTO SET MANDANT='TXVWT' WHERE HAUPTKONTONUMMER like 'NL%'
30 мар 16, 13:50    [18995642]     Ответить | Цитировать Сообщить модератору
 Re: Update Statement  [new]
-_Михаил_-
Member

Откуда: FFM
Сообщений: 206
mahaon2000
-_Михаил_-,

UPDATE KONTO SET MANDANT='TXVWT' WHERE HAUPTKONTONUMMER like 'NL%'


Спасибо, попробовал. Увы дает ошибку

DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0803N One or more values in the INSERT statement, UPDATE statement, or
foreign key update caused by a DELETE statement are not valid because the
primary key, unique constraint or unique index identified by "1" constrains
table "DB2INST1.KONTO" from having duplicate values for the index key.
SQLSTATE=23505
30 мар 16, 13:53    [18995662]     Ответить | Цитировать Сообщить модератору
 Re: Update Statement  [new]
const64
Member

Откуда:
Сообщений: 775
-_Михаил_-,

Видимо, у Вас на поле MANDANT создан уникальный индекс (или констрейн), и при апдейте - он перестает быть уникальным...
30 мар 16, 13:57    [18995690]     Ответить | Цитировать Сообщить модератору
 Re: Update Statement  [new]
-_Михаил_-
Member

Откуда: FFM
Сообщений: 206
const64,

и что тут можно сделать?
30 мар 16, 14:00    [18995708]     Ответить | Цитировать Сообщить модератору
 Re: Update Statement  [new]
const64
Member

Откуда:
Сообщений: 775
-_Михаил_-,

Хм... ну, например, выяснить, нужен ли этот индекс вообще - если не нужен - то удалить его (удалить это поле из индекса), а если нужен - то отказаться от апдейта...
30 мар 16, 14:22    [18995893]     Ответить | Цитировать Сообщить модератору
 Re: Update Statement  [new]
-_Михаил_-
Member

Откуда: FFM
Сообщений: 206
const64
-_Михаил_-,

Хм... ну, например, выяснить, нужен ли этот индекс вообще - если не нужен - то удалить его (удалить это поле из индекса), а если нужен - то отказаться от апдейта...


Я не совсем понимаю. Если я изменяю поединично, то все получается, а если все сразу то нет. Не логично это как то
30 мар 16, 14:26    [18995927]     Ответить | Цитировать Сообщить модератору
 Re: Update Statement  [new]
const64
Member

Откуда:
Сообщений: 775
-_Михаил_-,

Почему нелогично? Допустим, у Вас под апдейт попадает 100 записей, из которых под SQL0803N попадают 47-я и 83-я записи. Поединично Вы-же меняете не все эти 100 записей, а, например, 1, 2 и 3-ю - соотв., на нарушение уникальности не попадаете.
30 мар 16, 14:46    [18996069]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить