SQL Server Merge数据

Posted mapstar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server Merge数据相关的知识,希望对你有一定的参考价值。

--导数据 Merge
MERGE os_staff AS t USING (
select ear_code,sta_code,sta_pwd,sta_name,sta_dpt_code,job_code,sta_join_date,sta_sex,sta_status from ITSV123.his000.dbo.os_staff) AS s ON (t.ear_code = s.ear_code and t.sta_code = s.sta_code and t.sta_name != s.sta_name) WHEN MATCHED THEN update set t.sta_name = s.sta_name; WHEN NOT MATCHED THEN insert values(s.ear_code,s.sta_code,s.sta_pwd,s.sta_name,s.sta_dpt_code,s.job_code,s.sta_join_date,s.sta_sex,s.sta_status)
--查询数据库端口号
exec sys.sp_readerrorlog 0, 1, listening
--批处理执行SQL
@ECHO OFF 

SET dbhost=主机名(例如:127.0.0.1)
SET dbuser=用户名(例如:sa)
SET dbpasswd=用户密码(例如:admin)
set dbName=数据库名称(例如:test)
SET sqlpath=%~dp0(此语句可以保证.bat同级目录下的.sql文件能被找到)
set sqlfile=update.sql(需要执行执行sql的文件)

::执行SQL脚本
osql -S %dbhost% -U %dbuser% -P %dbpasswd% -d %dbName% -i %sqlpath%%sqlfile%

ECHO 完成!
PAUSE

@ECHO Done

 

以上是关于SQL Server Merge数据的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server Merge数据

SQL Server 使用 Merge 关键字进行表数据同步

SQL Server ->> 尝试优化ETL中优化Merge性能

Sql server的Merge语句,源表中如果有重复数据会导致执行报错

Microsoft SQL Server 代码片段收集

SQL Server2008中的MERGE SQL语句中的MERGE的全称是什麼?代表什麼意思? 有没有