Я хочу, чтобы запрос вставлял записи из одной таблицы в другую таблицу в другой базе данных, если таблица назначения уже существует, он должен добавлять записи в конец таблицы.
Как вставить значения таблиц из одной базы данных в другую базу данных?
Ответ 1
Как насчет этого:
USE TargetDatabase
GO
INSERT INTO dbo.TargetTable(field1, field2, field3)
SELECT field1, field2, field3
FROM SourceDatabase.dbo.SourceTable
WHERE (some condition)
Ответ 2
Как вставить значения таблицы с одного сервера/базы данных в другую базу данных?
1 Создание связанных серверов {если необходимо} (SQL Server 2008 R2 - 2012) http://technet.microsoft.com/en-us/library/ff772782.aspx#SSMSProcedure
2 настроить связанный сервер для использования учетных данных a) http://technet.microsoft.com/es-es/library/ms189811(v=sql.105).aspx
EXEC sp_addlinkedsrvlogin 'NAMEOFLINKEDSERVER', 'false', null, 'REMOTEUSERNAME', 'REMOTEUSERPASSWORD'
- ПРОВЕРЬТЕ СЕРВЕРЫ
SELECT * FROM sys.servers
- ТЕСТ СВЯЗАННЫЕ СЕРВЕРЫ
EXEC sp_testlinkedserver N'NAMEOFLINKEDSERVER'
ВСТАВЬТЕ В НОВЫЙ МЕСТНЫЙ СТОЛ
SELECT * INTO NEWTABLE
FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
ИЛИ ЖЕ
ВСТАВИТЬ КАК НОВЫЕ ЦЕННОСТИ В УДАЛЕННЫЙ СТОЛ
INSERT
INTO [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
SELECT *
FROM localTABLE
ВСТАВИТЬ КАК НОВЫЕ МЕСТНЫЕ СТОЛОВЫЕ ЗНАЧЕНИЯ
INSERT
INTO localTABLE
SELECT *
FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
Ответ 3
Вот быстрый и простой способ:
CREATE TABLE database1.employees
AS
SELECT * FROM database2.employees;
Ответ 4
Вы можете попробовать
Insert into your_table_in_db1 select * from [email protected]
db2SID - это сид другой БД. Он будет присутствовать в файле tnsnames.ora
Ответ 5
--Code for same server
USE [mydb1]
GO
INSERT INTO dbo.mytable1 (
column1
,column2
,column3
,column4
)
SELECT column1
,column2
,column3
,column4
FROM [mydb2].dbo.mytable2 --WHERE any condition
/*
steps-
1- [mydb1] means our opend connection database
2- mytable1 the table in mydb1 database where we want insert record
3- mydb2 another database.
4- mytable2 is database table where u fetch record from it.
*/
--Code for different server
USE [mydb1]
SELECT *
INTO mytable1
FROM OPENDATASOURCE (
'SQLNCLI'
,'Data Source=XXX.XX.XX.XXX;Initial Catalog=mydb2;User ID=XXX;Password=XXXX'
).[mydb2].dbo.mytable2
/* steps -
1- [mydb1] means our opend connection database
2- mytable1 means create copy table in mydb1 database where we want
insert record
3- XXX.XX.XX.XXX - another server name.
4- mydb2 another server database.
5- write User id and Password of another server credential
6- mytable2 is another server table where u fetch record from it. */
Ответ 6
INSERT
INTO remotedblink.remotedatabase.remoteschema.remotetable
SELECT *
FROM mytable
В реляционных базах данных нет такой вещи, как "конец таблицы".
Ответ 7
Если обе таблицы имеют одинаковую схему, используйте этот запрос: вставьте в database_name.table_name выберите * из new_database_name.new_table_name где = 'условие'
Замените database_name именем вашей первой базы данных, а table_name - именем таблицы, из которой вы хотите скопировать, также замените new_database_name на имя вашей другой базы данных, куда вы хотите скопировать, а new_table_name - это имя таблицы.
Ответ 8
Просто сделай это.....
(Это создаст ту же структуру таблицы, что и из таблицы, как в таблицу с теми же данными)
create table toDatabaseName.toTableName as select * from fromDatabaseName.fromTableName;