SQL 2005 创建约束
参见《SQL Sever 2005 数据库基础及应用技术教程与实训》 周奇
SQL Server中有五种约束类型,分别是CHECK约束、DEFAULT约束、PRIMARY KEY约束、FOREIGN KEY约束和UNIQUE约束。
1. CHECK约束:
CHECK约束用于限制输入一列或多列的值的范围,通过逻辑表达式来判断数据的有效性。一个列的输入内容必须满足CHECK约束的条件,否则数据无法正常输入。
下面我们要对以下的表添加CHECK约束,
Name
Sex
Adams
M
Berry
F
Hebe
f
Jack
M
以上的约束可以限制Sex列的取值只能为’M’或者’F’。如果你插入新行,或更改某一行不符合该约束,就会报错。
2. DEFAULT约束
若在表中某列定义了DEFAULT约束,用户在插入新的数据行时,如果该列没有指定数据,那么系统将默认值赋给该列,当然该默认值也可以是空值(NULL)。
创建DEFAULT约束需要在表设计器中,填写列属性的”默认值”.
3. PRIMARY KEY约束
在表中常有一列或多列的组合,其值能唯一标识表中的每一行。这样的一列或多列成为表的主键(Primary Key)。一个表只能有一个主键,而且主键约束中的列不能为空值。
4. FOREIGN KEY约束
外键(Foreign Key)是用于建立和加强两个表(主表与从表)的一列或多列数据之间的连接的。创建约束的顺序是先定义主表的主键,再对从表定义外键约束。
先对Country表设置主键,然后对Author表创建关系。
设置结束以后,可以发现Author表的CountryID列变为了外键。
5. UNIQUE约束
UNIQUE约束用于确保表中的两个数据行在非主键中没有相同的列值。与PRIMARY KEY约束类似,UNIQUE约束也强制唯一性,但UNIQUE约束用于非主键的一列或多列组合,且一个表可以定义多个UNIQUE约束,另外UNIQUE约束可以用于定义多列组合。
按照上图所示操作,Author表就多了一个对Name列的UNIQUE操作。这样,Author表就不会有两行具有相同Name的记录了。
相关文档:
ALTER PROCEDURE [dbo].[GetUsersList]
@BigClassID int=0,--大类别ID
@SmallClassID int=0 ,--小类别ID
@pageindex int=1,
@pagesize int=3,
@ret int output --共几条
AS
set rowcount @pagesize
if @SmallClassID>0
begin
select * from(
select id,BigClassName,SmallClassName,UserName,Corporation,r ......
超级有用的SQL语句 (用于SQL SERVER 服务器)
超级有用的SQL语句 ,执行后返回的列分别是:表名、列名、列类型、列长度、列描述、是否主键,语句如下:
(分析SQL SERVER 数据库表结构专用)
Select Sysobjects.Name As 表名,
Syscolumns.Name As 列名,
......
最佳答案方法1:
在查询分析仪里面运行下面代码:
backup log dbname with NO_LOG
backup log dbname with TRUNCATE_ONLY
DBCC SHRINKDATABASE(dbname)
方法2:
进入企业管理器,选中数据库
所有任务->分离数据库
到数据库文件的存放目录,将dbname_log.LDF文件删除,怕S的话 ......
createdb.bat文件
@echo off
echo ╬ ╱◥███◣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
echo ╬ ︱田︱田 田 ︱ ......