Я хочу, чтобы запрос вставлял записи из одной таблицы в другую таблицу в другой базе данных, если целевая таблица уже существует, он должен добавлять записи в конец таблицы.
sql
sql-server-2005
integration
append
Naveenkumar
источник
источник
Как вставить значения таблицы с одного сервера / базы данных в другую базу данных?
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
- ПРОВЕРИТЬ СЕРВЕРЫ
SELECT * FROM sys.servers
- ТЕСТИРОВАНИЕ СВЯЗАННЫХ СЕРВЕРОВ
ВСТАВИТЬ В НОВУЮ ЛОКАЛЬНУЮ ТАБЛИЦУ
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
источник
Вот простой и быстрый способ:
CREATE TABLE database1.employees AS SELECT * FROM database2.employees;
источник
--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. */
источник
Можешь попробовать
Insert into your_table_in_db1 select * from your_table_in_db2@db2SID
db2SID - это sid другой БД. Он будет присутствовать в файле tnsnames.ora
источник
INSERT INTO remotedblink.remotedatabase.remoteschema.remotetable SELECT * FROM mytable
В реляционных базах данных не существует такого понятия, как «конец таблицы».
источник
Если обе таблицы имеют одинаковую схему, используйте этот запрос: вставить в имя_базы_данных. Имя_таблицы выберите * из new_database_name.new_table_name where = 'condition'
Замените database_name на имя вашей 1-й базы данных, а table_name - на имя таблицы, из которой вы хотите скопировать, также замените new_database_name на имя вашей другой базы данных, в которую вы хотите скопировать, а new_table_name - это имя таблицы.
источник
Просто сделай это.....
(Он создаст ту же структуру таблицы, что и из таблицы, что и для таблицы с теми же данными)
create table toDatabaseName.toTableName as select * from fromDatabaseName.fromTableName;
источник
Для SQL Server вы можете использовать инструмент Импорт данных из другой базы данных, проще настроить сопоставление столбцов.
источник
В основном нам нужен этот тип запроса в скрипте миграции
INSERT INTO db1.table1(col1,col2,col3,col4) SELECT col5,col6,col7,col8 FROM db1.table2
В этом запросе количество столбцов должно быть одинаковым в обеих таблицах.
источник