![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос SQL [D5, dBase, FoxPro]
In/Out © (2007-03-15 08:54:00)Как одним запросом вставить 2 записи в таблицу?
Jan (2007-03-16 11:51:00) [1]
> Как одним запросом вставить 2 записи в таблицу?
а 3,4,5?
Desdechado (2007-03-15 15:30:00) [2]Сергей М. © (15.03.07 15:25) [8]
Это в каком диалекте SQL такой сиснтаксис?
Сергей М. (2007-03-15 15:25:00) [3]
> In/Out
INSERT INTO ... VALUES (SELECT .. FROM .. и тыды и тыпы)
Desdechado (2007-03-15 11:16:00) [4]Можно, но несколько коряво будет.
Например:
INSERT INTO faults(fault_id, fault_name)
SELECT 9, '9' FROM dual
UNION ALL
SELECT 10, '10' FROM dual
dual - это таблица с гарантированно одной записью
In/Out (2007-03-15 09:43:00) [5]Ну нет так нет.
Всем спасибо!
Sergey13 (2007-03-15 09:24:00) [6]> [3] In/Out (15.03.07 09:15)
> Можно ли как-то сделать тоже самое, только одним запросом?
Нет.
ЗЫ:В подобных запросах (как и вообще в запросах) лучше использовать параметры.
In/Out (2007-03-15 09:20:00) [7]
> Если записи из другой таблицы - то хоть миллион за раз.
Если из другой таблицы я знаю как сделать)
In/Out (2007-03-15 09:15:00) [8]Да ниоткуда, просто значения переменных...
Пример, делаю так:
qr.Close;
qr.SQL.Clear;
qr.SQL.Add('INSERT INTO tbldata');
qr.SQL.Add('VALUES ('+IntToStr(k1)+','+IntToStr(k2)+');';
qr.ExecSQL;
qr.Close;
qr.SQL.Clear;
qr.SQL.Add('INSERT INTO tbldata');
qr.SQL.Add('VALUES ('+IntToStr(k3)+','+IntToStr(k4)+');';
qr.ExecSQL;
Можно ли как-то сделать тоже самое, только одним запросом?
Такой вариант
qr.SQL.Add('VALUES (('+IntToStr(k1)+','+IntToStr(k2)+'),('+IntToStr(k3)+','+IntToStr(k4)+'));';
не проходит (((
DimonS (2007-03-15 09:14:00) [9]Если записи из другой таблицы - то хоть миллион за раз.
Sergey13 (2007-03-15 09:05:00) [10]> [0] In/Out (15.03.07 08:54)
Откуда записи?