`
jinvasshole
  • 浏览: 763695 次
文章分类
社区版块
存档分类
最新评论

T-SQL语句约束笔记

 
阅读更多
T-SQL语句约束笔记
数据库完整性-约 束
1 PRIMARY KEY约束
例如,下面的SQL语句创建一个名为student的表,其中指定student_number为主键:
USE test
GO
CREATE TABLE student
(sutdent_number int PRIMARY KEY,
student_name char(30))
GO
2 FOREIGN KEY约束
例如,下面就是一个使用FOREIGN KEY约束的例子:
CREATE TABLE product
(product_number int,
student_number int
FOREIGN KEY REFERENCES student(student_number)
ON DELETE NO ACTION)
GO
3 UNIQUE约束
例如,下面的SQL语句创建了一个test2表,其中指定了c1字段不能包含重复的值:
USE test
GO
CREATE TABLE test2
(c1 int UNIQUE,
c2 int)
GO
INSERT test2 VALUES(1,100)
GO
如果再插入一行:
INSERT test2 VALUES(1,200)
4 CHECK约束
例如,下面的SQL语句创建一个成绩(score)表,其中使用CHECK约束来限定成绩只能在0~100分之间:
CREATE TABLE score
(sutdent_number int,
score int NOT NULL CHECK(score>=0 AND score

默认值
.1 在创建表时指定默认值
例如,下面在test数据库中创建一个datetest表,其中c2指定默认值未当前日期:
USE test
GO
CREATE TABLE datetest(
c1 int,
c2 datetime DEFAULT (getdate())
)
然后插入一行数据:
INSERT datetest(c1) VALUES(1)
SELECT * FROM datetest
同样,可以给bookdb数据库中的orderform表中的order_date字段加上默认值:
USE bookdb
GO
ALTER TABLE orderform
ADD
CONSTRAINT DateDflt
DEFAULT getdate() FOR order_date
.2 使用默认对象
.2.1 创建默认对象
2.使用CREATE DEFAULT语句
例如,使用下面的SQL语句也可以创建address_default默认对象:
USE bookdb
GO
CREATE DEFAULT address_default AS \'无\'
GO
.2.2 绑定默认对象
2.使用sp_bindefault存储过程
例如,上面将address_default默认对象绑定到authors表的address列上的操作过程可以使用下面的SQL语句来完成:
USE bookdb
EXEC sp_bindefault \'address_default\', \'authors.address\'
.2.4 解除默认对象的绑定
例如,下面的SQL语句解除authors表address列上的默认值绑定:
USE bookdb
EXEC sp_unbindefault \'authors.address\'
.2.5 删除默认对象
例如,下面的SQL语句判断是否存在address_default默认对象,如果存在则删除该默认对象:
USE bookdb
IF EXISTS (SELECT name FROM sysobjects
WHERE name = \'address_default\'
AND type = \'D\')
DROP DEFAULT address_default
GO
规 则
1 创建规则
例如,下面的SQL语句创建一个名为score_rule的规则,限定输入的值必须在0到100之间:
USE test
GO
CREATE RULE score_rule AS @score BETWEEN 0 and 100
而下面创建的规则将输入到该规则所绑定的列中的实际值限制为只能是该规则中列出的值:
USE test
GO
CREATE RULE list_rule AS @list IN (\'1997\', \'1997\', \'1996\')
也可以使用LIKE来创建一个模式规则,即遵循某种格式的规则。例如,要使得该规则指定任意两个字符的后面跟一个连字符和任意多个字符(或没有字符),并以1到6之间的整数结尾,则可以使用下面的SQL语句:
USE test
GO
CREATE RULE pattern_rule
AS
@value LIKE \'__-%[1-6]\'
2 绑定规则
例如,下面的SQL语句可以将score_rule规则绑定到score表的score列上:
USE test
EXEC sp_bindrule \'score_rule\', \'score.score\'
3 删除规则
例如,要解除绑定到score表的score列上的规则,可以使用下面SQL语句:
USE test
EXEC sp_unbindrule \'score.score\'
例如,要删除规则score_rule,可以使用下面的SQL语句:
DROP RULE score_rule
分享到:
评论

相关推荐

    2009达内SQL学习笔记

    多数DBMS不需要在单条SQL语句后加分号,但特定的DBMS可能必须在单条SQL语句后加分号。 SQL语句的最后一句要以 “;”号结束 二、写子句顺序 Select column,group_function From table [Where condition] ...

    oracle数据库sql-笔记.zip

    包括(集合操作,处理语句,约束,链接,运算符。函数,表达式,聚合函数,子查询,分组查询,分页查询,视图,序列等)以及数据库的整体框架,以便你更好的学习,阅读。。感谢各位的支持,谢谢大家赏识

    Oracle 10g 学习笔记

    ├─02 简单SQL语句 │ simple_sql.sql │ ├─03 单行函数 │ single_function.sql │ ├─04 复杂查询 │ complex_query.sql │ ├─05 数据库更新 │ transaction.sql │ ├─06 表的管理 │ createTable.sql...

    mysql学习笔记-数据库概述、使用、sql编写

    适合初学者,刚刚接触数据库的,内容比较细化,课上学习笔记,整理给学生用的; 主要内容:数据库介绍、数据库的创建、表的创建、表的关系、约束、权限、sql语句的编写,单表及多表

    精髓Oralcle讲课笔记

    61、select ename, sal from emp join (select max(sal) max_sal ,deptno from emp group by deptno) t on (emp.sal = t.max_sal and emp.deptno=t.deptno); --查询每个部门中工资最高的那个人 -----------------...

    Oracle 入门文档

    Oracle笔记 六、PL/SQL简单语句块、变量定义 Oracle笔记 七、PL/SQL 异常处理 Oracle笔记 八、PL/SQL跳转/判断/循环语句块 Oracle笔记 九、PL/SQL 游标的使用 Oracle笔记 十、PL/SQL存储过程 Oracle笔记 十一、...

    Oracle 入门文档2

    Oracle笔记 六、PL/SQL简单语句块、变量定义 Oracle笔记 七、PL/SQL 异常处理 Oracle笔记 八、PL/SQL跳转/判断/循环语句块 Oracle笔记 九、PL/SQL 游标的使用 Oracle笔记 十、PL/SQL存储过程 Oracle笔记 十一、...

    oracle初学者笔记

    Oracle SQL语句查询,事务操作,安全管理,企业管理器,pl-sql, sql plus工具,表空间,表与约束管理,查询训练,存储过程与函数,视图,索引,同义词与表分区,游标

    MySQL学习笔记、学习文档

    alter语句.txt Java处理高并发量访问的处理.txt Map集合的四种遍历方式.txt Mybatis查询某- -日、周、月数据.txt MySQL安装教程.txt MySQL查询最近-周、月每月、周统计数据.txt MySQL入Ar ]很简单学习笔记李国华.dox...

    MySQL大纲学习笔记

    MySQL学习笔记详解各种语法格式,持续更新从什么是SQL,到数据库定义语言DDL语句,增删改查语句DML,查询语句DQL语法,约束等的详尽语法

    Oracle数据库、SQL

    三、 SQL语句的处理过程 7 3.1 SQL语句处理过程 7 3.2处理一条select语句 7 四、 where子句 8 4.1 where子句后面可以跟什么 8 4.2语法和执行顺序 8 4.3字符串是大小写敏感的,在比较时严格区分大小写 8 4.4 where...

    oracle学习笔记(txt格式,自己总结的,很详细,每章附有例题和习题及答案)

    基本SQL语句 2.限制和排列数据 3.单行函数 4.多表查询 5.组函数 6.子查询 7.数据操作 8.创建和维护表 9.约束 10.创建视图 11.其他数据库对象 12.控制用户访问 13.SQL练习 14.使用集合运算 15.增强GROUP BY子句 16....

    MySQL中一些常用的数据表操作语句笔记

    在使用CREATE TABLE创建表时首先要使用USE语句选择数据库。比如有个example数据库,用USE EXAMPLE选择这个数据库。 表名不能用SQL的关键字,如create,update等,字母不区分大小写。 下面是一个创建表的例子: ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     数据查询语言 (Data Query Language, DQL) 是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。例如:SELECT(查询)  数据控制语言Data Controlling Language(DCL),用来...

    oracle所有知识点笔记(全)

    这是我自己学习oracle的时候,写的代码案例和笔记,基本上每一个知识点都写的很清楚!...基本的sql_Select语句 运算符,多表联查,排序,组函数,序列,索引,同义词, 约束,创建和管理表,单行函数,过滤数据等等

    韩顺平oracle学习笔记

    Sqlplus是Oracle自带的工具软件,主要用于执行sql语句,pl/sql块。,如何使用:,, 1)在开始,程序,oracle,orachome90,, ,,application,development,sql*plus(这个是在dos下操作), 2)在运行栏中输入:sqlplusw或者...

    oracle数据库笔记

    SQL语句概述 31 1. SQL简介 31 2. SQL分类 31 3. PL/SQL (Procedure Language) 31 二. SQL*Plus 31 1.启动 SQL*Plus 单行编辑 31 2.启动iSQL*Plus 多行编辑 31 3.退出 32  直接关闭 32  输入:Exit 或 quit 32...

    oracle 笔记.txt

    RACLE笔记(1) 收藏 Oracle SQL(Oracle 9i 9.2.0.1.0) SQL(结构化查询语言),是操作关系型数据库中的对象。 DDL(数据定义语言),用于建表或删表操作,以及对表约束进行修改。 DML(数据操作语言),向表中插入...

    测试笔记(从零开始)

    SQL语句 32 创建数据库. 32 表、字段、类型 33 查询 35 批量处理? 40 视图/虚表 view 41 索引 42 存储过程 procedure 42 事务 transaction 43 触发器 trigger 46 练习 46 一、单表查询练习 46 二、聚合函数练习 47 ...

Global site tag (gtag.js) - Google Analytics