2010-11-04 1 views
1

У меня есть 2 базы данных в SQL Server 2005. Я хочу, чтобы у меня была одна и та же структура таблицы в 2 базе данных, например, у меня есть одна и та же таблица с именем testData в 2 базе данных названный dbTest1 и dbTest2.как импортировать данные из другой базы данных в SQL Server 2005

Теперь мне нужен один запрос, через который я могу добавить все записи из таблицы testData базы данных dbTest2 в таблицу testData базы данных dbTest1.

Я пытался использовать следующий запрос

вставка в значения dbTest1.testData выбрать * из dbTest2.testData

, но этот запрос не работает и дает ошибку.

Я также попытался

вставки в dbTest1.testData (col1, col2, COL3) значения выберите * из dbTest2.testData , но это также дает ошибку, что "Недопустимое имя объекта dbTest2.testData"

Могли любая помощь в этом

Благодарности

ответ

2

Заменить dbTest2.testData с dbTest2..testData - вы должны указать 3 вещи (или, возможно, оставить средние заготовки для DBO).

т.е.

insert into dbTest1..testData 
select * from dbTest2..testData 

Если таблица еще не существует в dbTest1, вы можете сделать это:

select * 
into dbTest1..testData 
from dbTest2..testData 
+0

спасибо CK .. он много работал для меня. –

1

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

insert into dbTest1.dbo.testData(col1,col2,col3) select * from dbTest2.dbo.testData 
+0

Его даяние следующая ошибка "Недопустимое имя объекта dbTest2.testData" –

+0

-1 - вам не нужно указывать столбцы, если у вас есть одна и та же структура в обоих (хотя это целесообразно для будущей проверки против изменений). Фактическая проблема - это что-то другое в соответствии с моим ответом. – cjk

+0

@Sumit Gupta, моя вина, я забыл про dbo, проверьте обновленный ответ –

Смежные вопросы