Office中国论坛/Access中国论坛
标题:
Sex 和AGE 必须同时填写,要不就都不写,怎么写这个约束?
[打印本页]
作者:
大熊
时间:
2005-1-27 18:42
标题:
Sex 和AGE 必须同时填写,要不就都不写,怎么写这个约束?
如题[em06]
作者:
阿罗
时间:
2005-1-27 18:56
那就要用触发器来搞这个约束了。
试试看
CREATE TRIGGER CheckSexAge ON employee
AFTER INSERT, UPDATE
AS
DECLARE @Sex nvarchar(5),
@Age nvarchar(5)
SELECT @Sex=CAST(sex AS nvarchar(5)) AS, @Age=CAST(age AS nvarchar(5)) FROM inserted
IF (len(@Sex)=0 AND len(@)>0) OR (len(@sex)>0 AND len(@Age)=0)
ROLLBACK TRANSACTION
转换部分可能要按实际情况修改一下
[此贴子已经被作者于2005-1-27 11:06:58编辑过]
作者:
阿罗
时间:
2005-1-27 18:57
呵呵 S e x 变成了***
作者:
阿罗
时间:
2005-1-27 18:59
体贴点再加个RAISERROR.
作者:
大熊
时间:
2005-1-27 19:08
请问图中哪个选项是建立触发器的?
[attach]8806[/attach]
[em06]
作者:
阿罗
时间:
2005-1-27 19:10
错了,应该到“表”那里用右键选表。我那个示例没有仔细看过具体的数据类型和格式,只是一个思路哦。
作者:
大熊
时间:
2005-1-27 19:24
谢了,有思路就好了.
作者:
大熊
时间:
2005-1-27 19:25
不过,真的不可以用约束来做吗?
作者:
大熊
时间:
2005-1-27 19:30
晕了,你这个方法不能用在TXT字段上!
作者:
阿罗
时间:
2005-1-27 19:51
txt字段不就更简单了么, cast可以不用了呀,直接将@Age等设成同txt字段一样的就可以了。我看是不可以用约束的。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3