欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

帮忙停这个sql语句为什么不能创建表

更新时间: 2014-01-05 02:17:08 责任编辑: Author_N1

 

帮忙下这个sql语句为什么不能创建表
create table test
(
id int not null primary key identity(1,1),
xy int  check( xy>[min] and xy<[max]),
[min] int default(0),
[max] int default(1000)
)
--参考方法--
引用:
这样是可以的,但是这样不是我的目的呀,我想让xy的取值介于min和max之间


这个得建立触发器:


create table test
(
id int not null primary key identity(1,1),
xy int ,
[min] int default(0),
[max] int default(1000)
)
go

create trigger dbo.trigger_test_insert
on test
for insert
as

if exists(select * from test where  not(xy>[min] and xy<[max]))
   rollback

go

--1.满足,不会报错
insert into test
select 10,1,11


--2.不满足条件,所以报错,插入不了
insert into test
select 10,1,10
/*
消息 3609,级别 16,状态 1,第 1 行
事务在触发器中结束。批处理已中止。
*/
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:17:08
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7958/
本文WWW.DOC100.NET DOC100.NET版权所有。