简体   繁体   English

使用OpenQuery插入表

[英]INSERT INTO table using OpenQuery

i have two database MSSQL and MYSQL 我有两个数据库MSSQLMYSQL

i want to transfer data from MYSQL to MSSQL, in a result i made Linked Servers between them 我想将数据从MYSQL传输到MSSQL,因此我在它们之间建立了链接服务器

I don't have any problem until this step 在这一步之前我没有任何问题

I wrote below code for fetch data from MYSQL and insert to MSSQL 我编写了以下代码,用于从MYSQL获取数据并插入到MSSQL中

INSERT into dbo.test2016
SELECT * FROM openquery(test1, 'SELECT t_id,t_date
FROM test1.test2016') T1
INNER JOIN dbo.test2016 T2 ON T1.t_date > T2.t_date

but I face Msg 213, Level 16, State 1, Line 1 in MSSQL because of INNER JOIN can't match with INSERT INTO 但由于INNER JOIN无法与INSERT INTO相匹配,所以我面对MSSQL中的 213级16状态1行1

i need before insert to MSSQL, compare t_date column between two table 我需要在插入MSSQL之前比较两个表之间的t_date列

how can i do? 我能怎么做?

I know that this thread is old but I figured that I share an example that worked for me. 我知道这个线程很旧,但是我发现我分享了一个对我有用的示例。

insert into openquery([LinkedServerName],'Select column1, column2 from mysqlDatabase.tableName' ) 
select column1, column2 from msServerTableName

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM