A-A+

设在SQLServer 2008某数据库中建有如下会员卡表:CREATE TABLE Tab

2022-08-05 23:46:07 问答库 阅读 173 次

问题详情

设在SQLServer 2008某数据库中建有如下会员卡表:CREATE TABLE Table_Card(CardID char(4)PRJMARY KEY,StartDate datetime NOT NULL,Score int NOT NULL DEFAULT 0,State int NOT NULL CHECK(State in(0,1,2)))现表中无数据,某用户对此表依次进行了如下操作:Ⅰ.INSERT INTO Table_CardVALUES(ˊ1001ˊ,ˊ2012-1-1 12:30:01ˊ,154,0)Ⅱ.INSERT INTOTable_Card(CardID,StartDate,State)VALUES(ˊ1002ˊ, ˊ2012-1-1 12:30:02ˊ,1)Ⅲ.INSERTINTO Table_CardVALUES(ˊ1003 ˊ,ˊ2012-1-1 12:30:03ˊ,172,2)IV.INSERT INTO Table_CardVALUES(ˊ1004 ˊ,ˊ2012-1-1 12:30:04ˊ,135,3)Ⅴ.UPDATE Table Card SETState=3 WHERE CardID=ˊ1001ˊⅥ.UPDATE Table Card SETState=1 WHERE CardID=ˊ1004ˊ以上操作对Table_Card表数据产生影响的是()。
A.仅Ⅰ、Ⅱ和Ⅲ
B.仅Ⅰ、Ⅴ和Ⅵ
C.仅Ⅰ、Ⅱ、Ⅲ和Ⅵ
D.仅Ⅲ、Ⅳ、Ⅴ和Ⅵ请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
Ⅳ中插人字段的第四个字段“3”不满足“CHECK(Statein(0,1,2))”的条件,因此插入不成功。V中更新第四个字段“State=3”同样不满足“CHECK(Statein(0,1,2))”的条件,更新失败。Ⅵ中因为没有“CardlD=ˊ1004ˊ”的记录,所以更新失败。

考点:会员卡