SqlSever 規則 約束

2021-10-04 17:43:53 字數 1643 閱讀 9686

(1)  建立grade規則,要求grade在0-100之間,並將該規則繫結在sc表的grade

列,解除該繫結。

create rule grade_rule as @grade>=0 and @grade<=100

goexec sp_bindrule 『grade_rule』,『sc.grade』

goexec sp_unbindrule 『sc.grade』

go(2)  建立***規則,要求性別只取「男」或「女」,並將該規則繫結在student表的s***列,解除該繫結。

create

rule ***_rule as @*** in (『男』,『女』)

goexec

sp_bindrule 『***_rule』,『student.s***』

goexec

sp_unbindrule 『student.s***』

go(3)  建立高考分數預設值規則,預設值為600,並將該規則繫結在student表的gkfs列,解除該繫結,刪除該規則。

create default gkfs_fault as 600

goexec sp_bindefault  『gkfs_fault』,『student.gkfs』

goexec sp_unbindefault 『student.gkfs』

go(4)  建立資料庫studentmanagement,新建表student,sc

student 表:

sc表:

create database studentmanagement

gocreate

table student1

sno nvarchar(10) not null,

sname

nvarchar(10) not null,

s*** nchar(1)

gocreate

table sc2

sno nvarchar(10) not null,

cno nvarchar(10) not null

go(5)  student定義時將sno為主鍵。

alter

table student2

addconstraint pk_sno primary key(sno)

go(6)  先定義sc表,再講sc表的sno,cno定義為復合主鍵約束。

alter table sc2

add constraint pk_sno_cno primary key

(sno,cno)

go(7)  將sc的sno定義為student的sno的外來鍵。

alter table sc2

add foreign key (sno) references student(sno)

go(8)  將student的sname增加unique約束

alter table student2

add constraint uk_sname unique(sname)

go(9)  為student表的s***增加check約束(『男』,『女』)

alter table student2

add constraint check_s*** check (sseck

in (『男』,『女』))

go

規則和約束

rule and constraint 規則和約束 建立規則 create rule rule name as f or m create table classmates st no varchar 20 st name varchar 10 st varchar 2 st bir date in...

SQL server 約束與規則

1 建立表的時候 create table tablename 只是單列的屬性 t1name int not null constraint pk st2 primary key clustered 聚合主鍵 constraint fk sno foreign key references dbo....

約束與規則簡介

一 約束 約束定義關於列中允許值的規則,是強制完整性的標準機制。使用約束優先於使用觸發器 規則和預設值。查詢優化器也使用約束定義生成高效能的查詢執行計畫。sql server 2005支援五類約束 1.not null指定不接受null值的列。2.check 約束對可以放入列中的值進行限制,以強制執...