进来看看有你需要的
一、事物
1.什么是事物?
解析:事务是一个不可分割的整体,事务中的多个执行过程,同生共死。要么都执行成功,
要么都执行失败。
2.事务的四个特性?
解析:ACID原则
原子性(Atomicity )
一致性( Consistency )
隔离性( Isolation)
永久性(Durabilily)
3.参与事务的 几个关键字
Begin transaction
Comit transaction
Rollback tran
4.在SQL中如何开启事务?
begin tran ---开启事物
declare @errorSum int
set @errorSum=0
update Bank set cardBalance-=50000
where cardOwner='张三'
set @errorSum+=@@ERROR
update Bank set cardBalance+=50000
where cardOwner='李四'
set @errorSum+=@@ERROR
if (@errorSum>0)
begin
----回滚,其中一个操作是错误的,事务需要回滚 rollback
rollback tran
end
else
begin
----提交 commit
commit tran
end
5.事务分类
显式事务;自己写的事务都是显式事务
隐式事务
自动提交事
二、视图
视图是数据库中的虚拟表,它存储的不是自己的内容,
而是经过select从其他表整合而来的。当其他表的内容改变是,
视图内的内容跟着改变。在一定条件下,对视图的更新也将改变源表。
--判断视图表是否存在
if exists(select * from sysobjects WHere name='vw_student_result')
drop view vw_student_result
go
--创建视图表
create view vw_student_result
as
--查询学生参加oop课程最近一次考试的成绩
select 姓名=StudentName,学号=student.StudentNO,成绩=StudentResult,课程名称=SubjectName,考试日期=ExamDate
from Student
inner JOIN Result ON Student.StudentNo=Result.StudentNo
inner JOIN Subject ON Result.SubjectId=Subject.SubjectId
where Subject.SubjectId=(
Select SubjectId from Subject where SubjectName='oop'
)and ExamDate=(
select max(ExamDate) From Result,Subject
where Result.SubjectId=Subject.SubjectId
and SubjectName='oop'
)
go
select *from vw_student_result --查看视图表
三、索引
1.唯一索引
2.主键索引
3.聚集索引
4.非聚集索引
5.复合索引
6.全文索引
在一张表中只能有有一个聚集索引,但非聚集索引可以有多个,最多可有254个。
如果为一张表设置主键,那么该列自动提升为聚集索引,聚集索引和表中记录的物理顺序一致。