SQLSERVER2012学习记录

本文介绍如何在SQL Server 2012中配置dblink并创建触发器实现数据同步。内容包括dblink的创建与删除、触发器的建立与删除等步骤,并提供了具体的SQL脚本示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQLServer2012下载地址

https://msdn.itellyou.cn/

创建dblink

EXEC sp_addlinkedserver 'dblink94','','SQLOLEDB','192.168.1.94,9090'
EXEC sp_addlinkedsrvlogin 'dblink94','false',NULL,'ncitf','ufsoft123!@#'

删除dblink

exec sp_dropserver 'dblink94','droplogins'

新建触发器

CREATE TRIGGER ic_onhandnum_trigger ON ic_onhandnum FOR DELETE, UPDATE,INSERT 

AS DECLARE
	@pk_onhandnum VARCHAR ( 40 ),
	@nonhandastnum DECIMAL,
	@nonhandnum DECIMAL,
	@ts VARCHAR ( 40 ),
	@orgcode  VARCHAR ( 40 ),
	@orgname VARCHAR ( 200 ),
	@warehousecode VARCHAR ( 40 ),
	@warehousename VARCHAR ( 200 ),
	@invcode VARCHAR ( 40 ),
	@invname VARCHAR ( 200 ); 
	
SELECT
	@pk_onhandnum = pk_onhandnum,
	@nonhandastnum = nonhandastnum,
	@nonhandnum = nonhandnum
FROM
	inserted;
	
 SELECT
	@orgcode=gg.CODE ,
	@orgname=gg.NAME ,
	@warehousecode=cc.CODE ,
	@warehousename=cc.NAME ,
	@invcode=ll.CODE ,
	@invname =ll.NAME ,
	@ts=uu.ts 
FROM
	ic_onhandnum uu,
	ic_onhanddim mm,
	org_orgs gg,
	bd_stordoc cc,
	bd_material ll 
WHERE
	uu.pk_onhanddim = mm.pk_onhanddim 
	AND uu.dr = 0 
	AND gg.pk_org = mm.pk_org 
	AND cc.pk_stordoc = mm.cwarehouseid 
	AND ll.pk_material = mm.cmaterialvid and uu.pk_onhandnum=@pk_onhandnum;

INSERT INTO dblink94.ncsyn.dbo.onhand ( orgcode, orgname, warehousecode,warehousename ,invcode,invname,nonhandnum,ts,status)
VALUES
	( @orgcode, @orgname, @warehousecode,@warehousename,@invcode,@invname,ISNULL(@nonhandnum,0),@ts,'0' );
	
go

删除触发器

IF ( object_id ( 'ic_onhandnum_trigger', 'TR' ) IS NOT NULL )
DROP TRIGGER ic_onhandnum_trigger
go 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值