Форум: "Базы";
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];
ВнизПроблема с запросом на вставку множества записей в таблицу Найти похожие ветки
← →
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 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c