use SM
go
1.
//创建SC表
if exists(select * from sysobjects where) //判断数据中是否有该表,若有先删除再重建
drop table sc
create table sc
(
StudentNo varchar(20) not null,
CourseNo varchar(20) not null,
StudentResult int not null
)
go
//添加约束
2.
alter table Student add constraint PK_stuno primary key(StudentNo)
3.
alter table Student add constraint CK_sex check (sex='男' or)
4.
alter table Course add constraint PK_courseno primary key(CourseNo)
5.
alter table Course add constraint UQ_coursename unique (CourseName)
6.
alter table sc add constraint FK_studentno foreign key(StudentNo) references Student(StudentNo)
7.
alter table sc add constraint FK_courseno foreign key(CourseNo) references Course(CourseNo)
8.
alter table sc add constraint PK_stu primary key(StudentNo,CourseNo)
数据库表有个字段表示性别如何在企业管理器里面约束值只能取男
//建立表:
create table test (
uname varchar(20) primary key,
birthday datetime,
sex char(2) check (sex='男' or sex = '女')
);
insert into test values ('a','2008-08-08', 'dd');
//将报出一下异常;
INSERT 语句与 COLUMN CHECK 约束 'CK__test__sex__33D4B598' 冲突。
该冲突发生于数据库 'pubs',表 'test', column 'sex'。
语句已终止。
//下面语句慢走sex的约束.
insert into test values ('a','2008-08-08', '男');
select * from test;
sql的表中的主码外码男女check
主码即主关键字。主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表不能有多个主关键字,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。外码即外关键字。如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。男女check约束写法如下:create table 表名(id int primary key,sex varchar(2) check (sex in ('男','女')))...
在oracle中如何在指定条件下使用check约束例如:男生年龄小于
CREATE TABLE test_chk_case_when (
id int,
name varchar(10),
sex varchar(4),
age int
);
-- 男生年龄小于23岁,女生年龄小于21岁。
ALTER TABLE test_chk_case_when
ADD CONSTRAINT chk_test_sex_age
CHECK (
CASE WHEN AND age<23 THEN 1
WHEN AND age<21 THEN 1
ELSE 0 END = 1
);
SQL> INSERT INTO test_chk_case_when VALUES(1, '张三', '男', 22);
已创建 1 行。
SQL> INSERT INTO test_chk_case_when VALUES(2, '李四', '男', 23);
INSERT INTO test_chk_case_when VALUES(2, '李四', '男', 23)
*
ERROR 位于第 1 行:
ORA-02290: 违反检查约束条件 (TEST.CHK_TEST_SEX_AGE)
SQL> INSERT INTO test_chk_case_when VALUES(3, '王五', '女', 20);
已创建 1 行。
SQL> INSERT INTO test_chk_case_when VALUES(4, '赵六', '女', 21);
INSERT INTO test_chk_case_when VALUES(4, '赵六', '女', 21)
*
ERROR 位于第 1 行:
ORA-02290: 违反检查约束条件 (TEST.CHK_TEST_SEX_AGE)