Вниз
Скачать: CL | DM;

Проблема с запросом на вставку множества записей в таблицу   Найти похожие ветки 

← →
pusrg ©   (2002-01-24 16:49) [0]

Уважаемые мастера помогите разобраться со следующим запросом (БД Парадокс):

insert into Goods (ID, Name, Price)
select Const, Name, Price from Temp;

Где Сonst - какое-то целое число;
поле ID типа integer;

При выполнении выдается ошибка: Type mismatch in expression - не совпадение типов.
Пробовал несколько различных вариантов, а именно:
1. Подставлял вместо Const целое число:
insert into Goods (ID, Name, Price)
select 1, Name, Price from Temp;

2.Использовал параметр:
insert into Goods (ID, Name, Price)
select :ID, Name, Price from Temp;
...
Query.ParamByName("ID").AsInteger:=1;

3.Использовал псевдоним:
insert into Goods (ID, Name, Price)
select (1) as Temp_ID, Name, Price from Temp;

В любом случае один и тот же результат...

В общем случае вопрос сводиться к следующему: можно ли использовать какие-то константы в LocalSQL для вставки их в др. таблицу?

Спасибо за содействие.


← →
Judith ©   (2002-01-24 18:00) [1]

А почему select? Насколько я знаю, синтаксиз д.б.
insert into Table1 (col1, col2, ...) values (val1, val2, ...)


← →
Praco ©   (2002-01-24 18:08) [2]

ID случайно не автоинкремент?


← →
asafr ©   (2002-01-24 18:13) [3]

Парадокс не знаю, но, скорее всего, Name - зарезервированное слово, поле таблицы не должно так называться.


← →
asafr ©   (2002-01-24 18:15) [4]

Да и Const, сдается мне, тоже из тех слов.


← →
pusrg ©   (2002-01-24 18:18) [5]

To Judith:
Естественно это стандартная конструкция, позволяющая вставлять одну (!) запись в таблицу; конструкция, используемая мной позволяет копировать всю (!) таблицу в одном запросе, РАЗНИЦУ ЧУВСТВУЕШЬ...

To Praco:
Нет ID типа Integer. Хотя по смыслу она и хранит ID из другой таблицы - там это поле автоинкремент.

Теперь отвечаю сам себе (Удивительно как раньше не догадался):
insert into Goods (ID, Name, Price)
select Cast(1 as INTEGER), Name, Price from Temp;

Нужно делать явное преобразование типа, все прекрасно работает...





← →
pusrg ©   (2002-01-24 18:22) [6]

To Asafr:
Если бы проблема была в зарезервированных, словах LocalSQL мне про это и сказал бы (Name точно не зарезервировано).
А правильный ответ читай выше.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
7-57228
ATeam
2001-10-25 15:01
2002.02.18
Как скопировать файл в clipboard.


1-57102
ev
2002-01-31 15:18
2002.02.18
как нарисовать кнопку нажатой?


1-57082
Злой_Гном
2002-02-01 18:12
2002.02.18
Помогите положить ProgressBar в StatusBar.Panels


3-57009
Fran
2002-01-24 09:59
2002.02.18
Как в RXDBGrid текущию строку сделать с другим Font или цветом?


3-56992
SelfDestructor
2002-01-23 16:37
2002.02.18
Как загрузить поле таблицы типа Memo из текстового файла?




   Наверх