Текущее время: Вт, июл 22 2025, 05:21

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: конструкция SQL работает не совсем корректно
СообщениеДобавлено: Вт, апр 19 2005, 12:57 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 14 2004, 18:02
Сообщения: 415
Откуда: из HR
Пол: Мужской
Добрый день!
Проблема в том, что данный код работает не совсем корректно:
Code:
UPDATE z9050percent CLIENT SPECIFIED
                               SET : begda = p9050-begda,
                                     endda = p9050-endda
                               WHERE pernr = p9050-pernr AND
                                     begda = zps-begda AND
                                     endda = zps-endda.

когда изменяется например поле begda или поле endda все работает, корректно апдейтится либо одно, либо другое в зависимости от изменения, но, как только изменяются одновременно оба поля, то апдейт проходит только по begda подскажите, может я вообще неправильную конструкцию написал?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: конструкция SQL работает не совсем корректно
СообщениеДобавлено: Вт, апр 19 2005, 15:31 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Дима написал:
Добрый день!
Проблема в том, что данный код работает не совсем корректно:
Code:
UPDATE z9050percent CLIENT SPECIFIED
                               SET : begda = p9050-begda,
                                     endda = p9050-endda
                               WHERE pernr = p9050-pernr AND
                                     begda = zps-begda AND
                                     endda = zps-endda.



Как минимум, добавь уж условие по манданту, раз уж пишешь CLIENT SPECIFIED . И запятую убери после p9050-begda .

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 19 2005, 15:38 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Ср, авг 18 2004, 10:59
Сообщения: 754
Откуда: Moscow
Читаем хелп по update:

Do not use the colon and commas to separate chained statements, since you could change an entire database table without wanting to, if you use them wrongly.

* FALSCH * WRONG * FALSCH * WRONG * FALSCH * WRONG *
* UPDATE SCUSTOM SET: DISCOUNT = '003',
* TELEPHONE = '0621/444444'
* WHERE ID = '00017777'.

This code fragment is not a single statement that update the discount and telephone number for the customer with the customer number '00017777'. Rather, it represents two statements - the first changes the discount for all customers, while the second changes the telephone number of the customer with the customer number '00017777'.

Ы? :lol:

_________________
Фарш невозможно провернуть назад,
И мясо из котлет не восстановишь


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 19 2005, 15:49 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 14 2004, 18:02
Сообщения: 415
Откуда: из HR
Пол: Мужской
Семен Семеныч :D самое забавное, что на каком то этапе он ругался, что нет запятой, поставил, ошибка исчезла, потом снова правил код, а дело то действительно в этом оказалось, запятая не нужна :D спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: конструкция SQL работает не совсем корректно
СообщениеДобавлено: Вт, апр 19 2005, 15:53 
Специалист
Специалист

Зарегистрирован:
Вт, авг 17 2004, 08:47
Сообщения: 222
Пол: Мужской
Дима написал:
Добрый день!
Проблема в том, что данный код работает не совсем корректно:
Code:
UPDATE z9050percent CLIENT SPECIFIED
                               SET : begda = p9050-begda,
                                     endda = p9050-endda
                               WHERE pernr = p9050-pernr AND
                                     begda = zps-begda AND
                                     endda = zps-endda.

когда изменяется например поле begda или поле endda все работает, корректно апдейтится либо одно, либо другое в зависимости от изменения, но, как только изменяются одновременно оба поля, то апдейт проходит только по begda подскажите, может я вообще неправильную конструкцию написал?


Тут нужно исходить из того что нужно сделать.

Данный апдейт делает две операции. 1. Во всей таблице z9050percent устанавливает в поле begda значение p9050-begda. 2. В таблице z9050percent устанавилвает в поле endda значение p9050-endda, для всех записей где pernr = p9050-pernr AND begda = zps-begda AND endda = zps-endda.

Если нужно чтобы апдейт прошел как одна операция, то нужно убрать ":" и ','.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot], Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB