![]() |
|
#1
|
|||
|
|||
![]() Запрос выполняется с ошибками - добавляется пустая строка вот запрос
====================================== 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 ) Кто нибудь знает в чем проблема? |
#2
|
||||
|
||||
![]() Синтаксически вроде без ошибок, но вот смущают 2 момента:
1. Использование вложенного запроса. Попробуйте для начала задать тестовое значение вместо вложенного запроса. 2. Запись даты и времени, как строки. У вас поля tr_date, tr_time точно текстовые? Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() Если убрать вложенного запроса то запрос работает нормально.
Поля Tr_Date тип date и Tr_Time тип Time. Если убрать вложенный запрос, то запрос работает нормально. Сам вложенный запрос отдельно работает. Если заменить вложенный запрос числом запрос работает. Если выполнить запрос используя NULL запрос выполняется только 'tr_id_categ' пустой, остальные заполняется. Новый пустой запись добавляется вместе Primary Key а у Filad-а тип AutoIncreament. В таблице Foreign Key пока не задан. Думаю Select внутри Values Недопустим. Последний раз редактировалось M.A.D.M.A.N., 29.08.2013 в 12:27. |
#4
|
||||
|
||||
![]() Ну я так и думал. Можно изменить запрос немножко. Вместо Values использовать еще один подзапрос собирающий все значения. Т.е. получится примерно так:
Код:
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) (select 1, (select p_id_categ from product where p_id = 1), 1, 'кг', 250, 'Руб', '07.07.2013', '06:05:00 PM', 1, 0) Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
![]() та скорее всего BDE не потянет вложенные запросы, да еще и в insert.
зыж. еще как вариант: конструкция Код:
(select p_id_categ from product where p_id = 1) Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#6
|
|||
|
|||
![]() Спасибо Страдалецъ за ответ. выполнил запрос с новым синтаксисом, но безрезультатно, выдает ошибку.
Invalis use of keyword Token (select Liner number 3 Это здесь (select 1, (select p_id_categ from product where p_id = 1), 1, 'кг', 250, 'Руб', '07.07.2013', '06:05:00 PM', 1, 0) для даты и времени я использую процедуры делфи в запросе DocodeDate() и DecodeTime() Yurk@ правильно заметил,я использую СУБД BDE обе части (база и клиентская программа) на одной машине, подумал легче использовать BDE или MS Access но Access как я узнал не дружит с вложенными запросами, в принципе - как уже понял - BDE тоже не дружит. Я изменил структуру таблиц и таким образом достиг цели. Спасибо всем кто участвовал. |