设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3871|回复: 9
打印 上一主题 下一主题

Sex 和AGE 必须同时填写,要不就都不写,怎么写这个约束?

[复制链接]
跳转到指定楼层
1#
发表于 2005-1-27 18:42:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题[em06]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-1-27 18:56:00 | 只看该作者
那就要用触发器来搞这个约束了。

试试看

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编辑过]

3#
发表于 2005-1-27 18:57:00 | 只看该作者
呵呵 S e x 变成了***
4#
发表于 2005-1-27 18:59:00 | 只看该作者
体贴点再加个RAISERROR.
5#
 楼主| 发表于 2005-1-27 19:08:00 | 只看该作者
请问图中哪个选项是建立触发器的?



[em06]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
发表于 2005-1-27 19:10:00 | 只看该作者
错了,应该到“表”那里用右键选表。我那个示例没有仔细看过具体的数据类型和格式,只是一个思路哦。
7#
 楼主| 发表于 2005-1-27 19:24:00 | 只看该作者
谢了,有思路就好了.
8#
 楼主| 发表于 2005-1-27 19:25:00 | 只看该作者
不过,真的不可以用约束来做吗?
9#
 楼主| 发表于 2005-1-27 19:30:00 | 只看该作者
晕了,你这个方法不能用在TXT字段上!
10#
发表于 2005-1-27 19:51:00 | 只看该作者
txt字段不就更简单了么, cast可以不用了呀,直接将@Age等设成同txt字段一样的就可以了。我看是不可以用约束的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-29 15:11 , Processed in 0.103824 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表