灵活设置规则

/*
刚写了一个灵活设置默认值的,再来一个灵活设置规则的,其实基本上是一样的。
参考联机帮助: Create rule; sp_bindrule; sp_unbindrule
下面是测试:
*/
/*创建一个测试用表*/
create table test_tb(id int ,Country varchar(10))
--没有绑定Rule时全部insert成功
insert test_tb values(1,'China')
insert test_tb values(2,'Japan')
insert test_tb values(3,'England')
insert test_tb values(4,'Russia')
go
/*创建一个规则*/
Create Rule list_rule
As
@list In ('China', 'Japan', 'England')
go
/*将规则绑定到列country*/
EXEC sp_bindrule 'list_rule', 'test_tb.Country'
--绑定规则后再测试
insert test_tb values(11,'China')
insert test_tb values(12,'Japan')
insert test_tb values(13,'England')
insert test_tb values(14,'Russia') -- 此句不符合规则,insert不成功
go

--取消绑定
EXEC sp_unbindrule 'test_tb.Country'
go
--删除规则
Drop rule list_rule
go
--新建一个规则,值稍加修改
Create Rule list_rule
As
@list In ('China', 'Japan', 'Russia')
go
--再次绑定
EXEC sp_bindrule 'list_rule', 'test_tb.Country'
go
--绑定新规则后再测试
insert test_tb values(21,'China')
insert test_tb values(22,'Japan')
insert test_tb values(23,'England') -- 此句不符合规则,insert不成功
insert test_tb values(24,'Russia')
--查询结果
select * from test_tb
/*
id Country
----------- ----------
1 China
2 Japan
3 England
4 Russia
11 China
12 Japan
13 England
21 China
22 Japan
24 Russia

(所影响的行数为 10 行)
*/

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

txlicenhe

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值