Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите с копированием таблиц  [new]
ll13
Member

Откуда: Большая деревня
Сообщений: 147
Необходимо все записи из table1 скопировать в table2, их структура идентична.
Все записи, ранее находящиеся в table2 должны быть соответственно удалены.
Помогите плизз сформулировать запрос.
5 ноя 09, 22:06    [7888672]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с копированием таблиц  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36805
И что не получается?

Сообщение было отредактировано: 5 ноя 09, 22:08
5 ноя 09, 22:08    [7888677]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с копированием таблиц  [new]
CmeTanka
Member [заблокирован]

Откуда: Рашен Федерэйшен
Сообщений: 2272
чё та типа
DELETE FROM table2

INSERT INTO table2(aaa, bbb)
SELECT aaa, bbb FROM table1

5 ноя 09, 22:20    [7888707]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с копированием таблиц  [new]
ll13
Member

Откуда: Большая деревня
Сообщений: 147
Гавриленко Сергей Алексеевич,

Ситуация специфична.
DELETE применять нельзя, т.к. формирую запрос по ADO к EXCEL, а там delete не поддерживается(
Посему надо как то делать через UPDATE
А как запрос сформировать никак не соображу (
5 ноя 09, 22:21    [7888709]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с копированием таблиц  [new]
Glory
Member

Откуда:
Сообщений: 104760
ll13

Ситуация специфична.
DELETE применять нельзя, т.к. формирую запрос по ADO к EXCEL, а там delete не поддерживается(

А MSSQL то тут тогда причем ?
5 ноя 09, 22:26    [7888727]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с копированием таблиц  [new]
Mix
Member

Откуда:
Сообщений: 160
Ключ есть?

Тогда
update t2
set 
    t2.pole1 = t1.pole1,
    t2.pole2 = t1.pole2,
    t2.pole3 = t1.pole3,
    t2.pole4 = t1.pole4
from 
    table1 t1
    inner join table2 t2
        on t1.[ключ] = t2.[ключ]

insert into t2 ([ключ], pole1, pole2, pole3, pole4)
select t1.[ключ], t1.pole1, t1.pole2, t1.pole3, t1.pole4
from 
    table1 t1
    left outer join table2 t2
        on t1.[ключ] = t2.[ключ]
where
    t2.[ключ] is NULL
-------------------------------------------------
Не корысти ради, а токмо во имя поиска благодати.
9 ноя 09, 17:37    [7903775]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с копированием таблиц  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31193
Mix
Ключ есть?

Тогда
Ну, удалить-то автору всё равно нужно...

2 ll13
Вам нужно задать вопрос в форуме по EXCEL
10 ноя 09, 10:11    [7905916]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с копированием таблиц  [new]
Mix
Member

Откуда:
Сообщений: 160
alexeyvg
Mix
Ключ есть?

Тогда
Ну, удалить-то автору всё равно нужно...

2 ll13
Вам нужно задать вопрос в форуме по EXCEL


Да, позабыл.
В этом случае:
delete t2
from 
    table2 t2
    left outer join table1 t1
        on t1.[ключ] = t2.[ключ]
where
	 t1.[ключ] is NULL

Тремя этими запросами можно поддерживать синхронность таблиц.
10 ноя 09, 10:17    [7905945]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с копированием таблиц  [new]
Glory
Member

Откуда:
Сообщений: 104760
Mix

Да, позабыл.
В этом случае:
delete t2
from 
    table2 t2
    left outer join table1 t1
        on t1.[ключ] = t2.[ключ]
where
	 t1.[ключ] is NULL

Тремя этими запросами можно поддерживать синхронность таблиц.

У автора темы Excel
10 ноя 09, 10:35    [7906039]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с копированием таблиц  [new]
Mix
Member

Откуда:
Сообщений: 160
Glory

У автора темы Excel

Хм, мда.

Может тогда, все-таки, объектом вначале обратиться к Excel и удалить там ВСЕ.
Потом соединиться с этим Excel по АДО и залить все банальным инсертом.
10 ноя 09, 10:59    [7906210]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить