SQL中创建表时怎样限定属性值的取值,如一个表中有一列为"科目",限定其只能取"语文","数学","英语".
4个回答
展开全部
是sql server吗?给你个例子
CREATE TABLE publishers
(
pub_id char(4) NOT NULL
CONSTRAINT UPKCL_pubind PRIMARY KEY CLUSTERED
CHECK (pub_id IN ('1389', '0736', '0877', '1622', '1756')
OR pub_id LIKE '99[0-9][0-9]'),
pub_name varchar(40) NULL,
city varchar(20) NULL,
state char(2) NULL,
country varchar(30) NULL
DEFAULT('USA')
)
CREATE TABLE publishers
(
pub_id char(4) NOT NULL
CONSTRAINT UPKCL_pubind PRIMARY KEY CLUSTERED
CHECK (pub_id IN ('1389', '0736', '0877', '1622', '1756')
OR pub_id LIKE '99[0-9][0-9]'),
pub_name varchar(40) NULL,
city varchar(20) NULL,
state char(2) NULL,
country varchar(30) NULL
DEFAULT('USA')
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呃,除了触发器外,另外一个方法是新建一张科目表,主键为科目代号,然后把你的那张表科目字段和科目表的主键建立外键约束foreign key即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以新建一个触发器 在 insert和update事件,检查修改的值是否是在你的列举之内
参考资料为微软的说明
参考资料为微软的说明
参考资料: http://msdn.microsoft.com/zh-cn/library/ms162164%28SQL.100%29.aspx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询