日期:2014-05-18  浏览次数:20482 次

刚学数据库的一个约束问题
/*create   database[NetBer]
on   primary
(
name= 'NetBer_Data ',
size=6mb,
filename= 'd:\NetBer_Data.mdf ',
maxsize=10mb
)*/
/*create   table[Cardm]
(
[id]   varchar(8)   not   null   primary   key,
Password   varchar(3)   not   null,
Balance   int,
UserName   nvarchar(10)
)*/
/*INSERT   Cardm(id,Password,Balance,UserName)
SELECT   '0023_ABC ', 'abc ',100, '张军 '   UNION
SELECT   '0024_ABC ', 'abd ',200, '李公凯 'union
SELECT   '0024_ABE ', 'abe ',300, '李俊 '*/
update   cardm  
set   Balance=200
WHERE   Balance <=150
delete   from   Cardm
WHERE   UserName= '李俊 '
insert   into   Cardm(id,Password,Balance,UserName)
VALUES( '0036_CCD ', 'ccd ', '100 ', '何柳 ')
*******************************************************
要求ID
1.只能是8位数字
2.前面两位是0.
3.3~4位数子
4.第5位下划线
5.6-8位为字母
alter   tanle[cardm]
add   constraint   ck_cardm_id
check((Len(id)=8)and   id   like   '00[0-9][0-9][_][A-Z][A-Z][A-Z] ')
****************************************************************
/*create   database[NetBer]
on   primary
(
name= 'NetBer_Data ',为什么要+_Data.NetBer不已经是名字了吗?
问一下这样写对吗?

------解决方案--------------------
/*
Limpire:实在跟不上楼主的思维,标题“刚学数据库的一个约束问题”,所问却是逻辑文件名和物理文件名的问题:)
*/

...
name= 'NetBer_Data ', --逻辑文件名
...
filename= 'd:\NetBer_Data.mdf ',--物理文件名
...
------解决方案--------------------
[id] varchar(8) not null primary key,
主键不用写not null
_Data不写也可以,写的目的在于容易识别.
我也是新手,加油!