Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перекинуть из одной таблицы в другую, InterBase 
:(
    Опции темы
mspuz
Дата 21.12.2005, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 20.6.2005
Где: Ногинск

Репутация: нет
Всего: нет



Всем привет. Проблема в следующем. Кто-то удалил часть данных из жизненно важной таблицы, но имеется резервная копия - достаем её, select'ом выбираем нужную часть данных и.....А дальше то что делать??? Таблицы находятся в разных БД, структура таблиц совершенно одинаковая и самое главное в таблице 100!!!!! полей. Как мне, не перечисляя названия всех полей перекинуть все это из одной таблицы в другую. Я уже сделал, тупейшим способом (т.к. надо было это сделать быстро, а других методов я не знал), но мучиться когда-нить еще раз так же не охота. smile
Добавлено @ 14:09
Копался в литературе и наткнулся на такую штуку - компонент IBSQL и методы BatchOutput и BatchInput. Но как я понял из хелпа мне все равно нужно указывать весь список полей и передавать значение всех полей в параметры. Может я не так понял??? Может это как раз то, что нужно ????
PM MAIL   Вверх
offline
Дата 21.12.2005, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



Код

INSERT INTO Table1 (Field1, Field2, Field3 ... )
SELECT Field1, Field2, Field3 ... FROM Table2

PM MAIL   Вверх
Susel
Дата 21.12.2005, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 27.3.2004

Репутация: нет
Всего: нет



INSERT INTO Table1 SELECT * FROM Table2
PM MAIL   Вверх
mspuz
Дата 21.12.2005, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 20.6.2005
Где: Ногинск

Репутация: нет
Всего: нет



Susel А если они в разных БД, то как строка запроса будет выглядить???
PM MAIL   Вверх
offline
Дата 21.12.2005, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



какая разница где они подключаешь к ADOTable1 (Table1) первую таблицу - куда, к ADOTable2 (Table12) вторую таблицу - откуда и вперед
PM MAIL   Вверх
mspuz
Дата 21.12.2005, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 20.6.2005
Где: Ногинск

Репутация: нет
Всего: нет



kirilllius Я извиняюсь за свои неисправные тормоза, но...разве Table поддерживает SQL-запросы??? Или подключить таблицы к Table, а запросы творить через Query, указывая вместо названия таблиц названия компонентов???
PM MAIL   Вверх
offline
Дата 21.12.2005, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



нет, это у меня сегодня тяжелый день smile

Код

SELECT *
INTO Таблица2 IN 'D:\Projeck\1.mdb'
FROM Таблица1


где Таблица1 - это таблица из текущей базы, а Таблица2 - это таблтца из другой базы D:\Projeck\1.mdb
PM MAIL   Вверх
Susel
Дата 21.12.2005, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 27.3.2004

Репутация: нет
Всего: нет



Хм....я и не думал даже что в IB так сложно составить запрос к таблицам из 2-х БД.......
В других СУБД это совсем не проблема.......

Ну как ещё один из вариантов - воспользоваться утилиткой Copy в Database Desktop.....
Хотя если вариант предложенный kirilllius работает - то он будет получше......

PM MAIL   Вверх
offline
Дата 21.12.2005, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



в Access по крайней мере работает, а в IB не знаю
PM MAIL   Вверх
Susel
Дата 21.12.2005, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 27.3.2004

Репутация: нет
Всего: нет



Хех...:-) В Информиксе работает: INSERT INTO Table1 SELECT * FROM Database@Table2, но это же не факт, что для IB работает....
PM MAIL   Вверх
YurikGL
Дата 21.12.2005, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



А не судьба в той базе, которая станет итоговой, создать временную таблицу, перекинуть туда все из копии и после этого выполнить запрос?
Или вообще по одной записи в цикле перебрать и перекинуть?

Цитата
Как мне, не перечисляя названия всех полей перекинуть все это из одной таблицы в другую.

что-то типа
for i:=0 to table1.fields.count-1 do
table1.fields[i].value:=table2.fields[i].value

Это сообщение отредактировал(а) YurikGL - 21.12.2005, 21:51
--------------------
 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0500 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.