Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрос 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)
Откуда записи?


Наверх

Титульная страница Поиск, карта сайта Написать письмо