可否让两个字段只允许一个为空,在线等!

wangyangcheng 2005-09-17 04:31:20
table中有id,a,b三个字段,
现在要求a为空则b不能为空,若b为空则a不能为空

即两个字段允许一个为空。
...全文
89 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyang555 2005-09-17
  • 打赏
  • 举报
回复
用触发器比较好,不过只用insert和update就行了
wgsasd311 2005-09-17
  • 打赏
  • 举报
回复
--用触发器实现:
create trigger tr_tbname on tbname
for insert,update,delete
as
declare @fld1 varchar(100),@fld2 varchar(100)
if exists(select 1 from inserted where (fld1 is null) and (fld2 is null))
begin
RAISERROR ('fld1和fld2不能都为空值', 16, 1)
ROLLBACK TRANSACTION
end
go
jianjian51 2005-09-17
  • 打赏
  • 举报
回复
用脚本
zzxiaoma 2005-09-17
  • 打赏
  • 举报
回复
在程序里面实现好
wangyangcheng 2005-09-17
  • 打赏
  • 举报
回复
我的意思是:只允许两者之一为空,而不是允许两者都为空后都不为空!
lisiyong 2005-09-17
  • 打赏
  • 举报
回复
表中主码外 其他字段都可以为空
lisiyong 2005-09-17
  • 打赏
  • 举报
回复
可以

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧