insert into BDE

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
malkhazi
Сообщения: 6
Зарегистрирован: 28 авг 2013, 19:44

28 авг 2013, 19:46

Запрос выполняется с ошибками - добавляется пустая строка вот запрос

======================================

insert into trans_rasxod
(tr_id_prod, tr_id_categ, tr_sk, tr_ves, tr_price, tr_ves_p, tr_date, tr_time, tr_user, tr_oper)

Values(
1, (select p_id_categ from product where p_id = 1), 1, 'кг', 250, 'Руб', '07.07.2013', '06:05:00 PM', 1, 0
)

Кто нибудь знает в чем проблема?
malkhazi
Сообщения: 6
Зарегистрирован: 28 авг 2013, 19:44

29 авг 2013, 09:37

Если убрать вложенный запрос, то запрос работает нормально. Сам вложенный запрос отдельно работает. Если заменить вложенный запрос числом запрос работает.
Если выполнить запрос используя NULL запрос выполняется только 'tr_id_categ' пустой, остальные заполняется.
Новый пустой запись добавляется вместе Primary Key а у Filad-а тип AutoIncreament.
В таблице Foreign Key пока не задан.

Думаю Select внутри Values Недопустим.
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

29 авг 2013, 11:02

А вложенный запрос тчно возвращает одну строку?
Если да - видимо, надо выполнять сначала вложенный запрос, а потом результат уже добавлять в insert
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
malkhazi
Сообщения: 6
Зарегистрирован: 28 авг 2013, 19:44

29 авг 2013, 15:12

Вложенный запрос возвращает одну строку.
Я не хотел две запросы отдельно исполнять для одной операции.

Спасибо за ответ
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

08 сен 2013, 07:39

1) База данных какая? BDE - это движок, а база Paradox?
2) Ошибка какая? Вы пишете "запрос выполняется с ошибками"... С каими? Код ошибки, комментарий...

Проверьте типы полей p_id_categ и tr_id_categ. Вы же говорите, что при замене подзапроса на NULL ошибка исчезает... Это довод в пользу несовместности типов.
Ответить