Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 440
от 23.01.2008, 10:00

Администратор:Gh0stik
В рассылке:Подписчиков: 291, Экспертов: 32
В номере:Вопросов: 1, Ответов: 3

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 119126: Здравствуйте уважаемые эксперты! Помогите начинающему. Ситуация такова: на форме имеется два DBGrid-а. В один выведены поля из одной таблицы базы данных (select * from table1 where gr=1). Требуется данные поля перенести в другую таблицу....

Вопрос № 119.126
Здравствуйте уважаемые эксперты!
Помогите начинающему.
Ситуация такова:
на форме имеется два DBGrid-а. В один выведены поля из одной таблицы базы данных (select * from table1 where gr=1). Требуется данные поля перенести в другую таблицу. Они, соответственно, и будут во втором гриде. Подскажите, как эффективнее всего сделать инсерт.
Заранее спасибо.
Отправлен: 18.01.2008, 09:37
Вопрос задала: Cerby (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: BlackRaider
Здравствуйте, Cerby!

Если действительно нужен инсерт в другую таблицу то можно использовать запрос такого плана :
INSERT INTO table2 (pole2_1,pole2_2)
(Select pole1_1,pole1_2
from table1
where gr=1)
т.е. встявятся поля (pole1_1 и pole 1_2 с таблицы table1 в таблицу table2 которые удовлетворяют условию выборки из таблицы table1).
Ответ отправил: BlackRaider (статус: 2-ой класс)
Ответ отправлен: 18.01.2008, 09:47
Оценка за ответ: 5
Комментарий оценки:
Спасибо! Все получилось)

Отвечает: Delph
Здравствуйте, Cerby!

Вы не указали, какой конкретно сервер СУБД у Вас установлен. Для PostgreSQL хорошо работает такая конструкция:

insert into table2(field1, field2, ..., fieldn)
(select field1, field2, ..., fieldn from table1 where gr=1);

Сработает ли этот способ для других серверов - не знаю. Впрочем, всегда можно сделать построчный перебор первой таблицы и занесение данных во вторую. Тогда Вам в программе придётся сформировать и выполнить insert во вторую таблицу для каждой строки первой.
---------
Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.
Ответ отправил: Delph (статус: Студент)
Ответ отправлен: 18.01.2008, 09:55
Оценка за ответ: 5
Комментарий оценки:
спасибо! MSSQL. работает)

Отвечает: Selya
Здравствуйте, Cerby!
Попробуй так:
INSERT INTO Table2 ( здесь можно указать имена полей через запятую )
SELECT *
FROM Table1
WHERE gr=1
ORDER BY Ordr // сортировка по полю Ordr
Ответ отправил: Selya (статус: 4-ый класс)
Ответ отправлен: 18.01.2008, 10:18
Оценка за ответ: 5
Комментарий оценки:
спасиба)


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.70 от 17.01.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное