[sql server发布订阅]after触发器执行失败造成复制不成功
2015-07-06 23:25
597 查看
结论:
(以插入而例)
发布端的数据插入成功
订阅段的数据不会插入
实验
订阅端(和发布端一致)
发布端
订阅端
记录表
(以插入而例)
发布端的数据插入成功
订阅段的数据不会插入
实验
创建一张新表
create table test_subscriber (id int, mark varchar(2),inserttime datetime)
在订阅表上创建触发器
CREATE TRIGGER [dbo].[sf_test] ON [dbo].[t2] AFTER INSERT AS BEGIN SET NOCOUNT ON; insert into test_subscriber select c1,c2,getdate() from inserted END GO
在发布端执行满足条件的插入
如果C2的字段长度<=2,则触发器能够执行成功,那么两端的数据都能得到更新。insert into t2 values (5,'xx')
订阅端(和发布端一致)
1> select * from t2 where c1=5 2> go c1 c2 ----------- ----------------------- 5 xx (1 行受影响)
1> select * from test_subscriber 2> go id mark inserttime ----------- ---- ----------------------- 5 xx 2015-07-06 22:39:37.227 (1 行受影响)
插入使触发器执行失败的数据
insert into t2 values (6,'3xx')
发布端
1> use sql2008sbs 2> select * from t2 where c1=6 3> go 已将数据库上下文更改为 'sql2008sbs'。 c1 c2 ----------- ---------------------------- 6 3xx (1 行受影响)
订阅端
1> select * from t2 where c1=6 2> go c1 c2 ----------- ------------------------ (0 行受影响)
记录表
1> select * from test_subscriber where id=6 2> go id mark inserttime ----------- ---- ----------------------- (0 行受影响)
相关文章推荐
- Centos6.6 安装Redis
- sql server触发器中增删改判断
- mysql使用触发器或函数实现自增序列
- 关于maven项目初始化数据库的一些经验
- 5-sql查询
- 4-pl-sql的安装
- ACCESS数据库字符串连接方式
- c++ redis-client
- InnoDB Insert(插入)操作(上)--mysql技术内幕
- MongoDB数据库可视化软件MongoVUE的安装使用
- Centos6.6 安装Memcached
- sql中GROUP BY的使用
- sql中DISTINCT的用法
- SQL SERVER2008数据库常识
- mysql悲观锁总结和实践for update
- .net 开源工具集1 (SQL,报表,Cube,Office导出)
- mysql 基础(二)
- HTML 5 在Web SQL 使用演示样本
- 类似的微博推断客户关系sql声明
- 谈谈数据库的ACID