Val列只有数据变化的时候才可以添加并且不许值为0或为负数
DateAndTime列一天只允许添一行
两个约束同时有效
不知道这里允许发地址不.
图地址:http://img623.photo.163.com/1122jq/46957053/1925482497.jpg
DateAndTime列一天只允许添一行
两个约束同时有效
不知道这里允许发地址不.
图地址:http://img623.photo.163.com/1122jq/46957053/1925482497.jpg
可以用check (val>0)DateAndTime列一天只允许添一行
这个应该只能用触发器限制
Val列check (val>0)我添加在约束里面说语法有问题
还有怎么那触发器弄出来?
as
begin
if (select count(*) from test where datediff(day,DateAndTime,getdate())=0)>1--当天的时间有两个的时候,说明刚才插入的时候表里已经有一条了,所以需要删除刚才插入的记录
begin
select '插入失败,一天只能插入一条数据'
delete test from test join inserted on test.DateAndTime=inserted.DateAndTime--此处做了假设,即你每次插入的dateandtime都是和以前不同的,估计你取的时当前值插入,所以假设成立.
end
end
还有Val列check (val>0)我添加在约束里面说语法有问题
---
开始-->所有程序-->sql server-->查询分析器
注意要连接上适当的数据库如果企业管理器打开了,也可:工具-->sql 查询分析器
在TagIndex列整数不同的情况下DateAndTime列一天只允许添一行.
还有我执行不了:
服务器: 消息 156,级别 15,状态 1,过程 tri_Table1,行 7
在关键字 'delete' 附近有语法错误。
create trigger tri_Table1 on Table1 after insert--将所有test换成你的表名
as
begin
if (select count(*) from Table1 where datediff(day,DateAndTime,getdate())=0)>1--当天的时间有两个的时候,说明刚才插入的时候表里已经有一条了,所以需要删除刚才插入的记录
begin
select --插入失败,一天只能插入一条数据'
delete Table1 from Table1 join inserted on Table1.DateAndTime=inserted.DateAndTime--此处做了假设,即你每次插入的dateandtime都是和以前不同的,估计你取的时当前值插入,所以假设成立.
end
end