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

 

posted @ 2020-06-24 12:53  mapstar  阅读(217)  评论(0编辑  收藏  举报