请问SQL语言中 如何限制表格数据字符型 只能出现数字?

在student表中添加两列,分别为:所在系Sdept列,字符型,长度2,不允许为空值。邮政篇码Postcode列,字符型,长度为6,可以为空,若不为空时,则要求其需满足... 在student表中添加两列,分别为:
所在系Sdept列,字符型,长度2,不允许为空值。
邮政篇码Postcode列,字符型,长度为6,可以为空,若不为空时,则要求其需满足其值只能出现数字,不能是其它字符。
使用T-SQL语句实现
展开
 我来答
WHITE_WIN
2008-11-18 · TA获得超过6111个赞
知道大有可为答主
回答量:3759
采纳率:50%
帮助的人:1921万
展开全部
1.在存插入存储过程中进行校验。

这样,使用存储过程插入数据,这里最常用的方法,可以最大限度地加入限制,报错和纠错功能以及完成其它表的关联操作。
使用起来也很方便:
EXEC TABLENAME_PROC '123456'
--以下是存储过程脚本
create tablename_proc
@field1 varchar(6)
as
if @field1 not like [0-9][0-9][0-9][0-9][0-9][0-9]
begin
reserror('必须是六位数字',16,1
return
end
insert into tablename(field1) values(@field1)
go

2.建表时加入约束:
create tablename(field1 CHECK (FIELD1 LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]')

3.建表后给已存在字段添加约束
alter table TABLENAME
with nocheck add constraint TABLENAME_check
check(FIELD1 LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式