视图(虚拟的表)
select查询出来的结果集可以用as起别名当作虚拟表来使用
视图只能添加使用不能添加修改
视图不能建在其他视图上,只能一其他实体表作为基础
视图表的数据会随实体表的变动而变动
视图的作用:
省去写表链接的过程
可以将两道三个表链接到一起,查询的更形象化一点
/*============================代码演示=========================*/
--代码创建视图
create view shitu2
as
select *from Score,grade where Score.Degree between low and upp
go
select *from shitu2 -- 查询视图里面的数据
--修改视图
alter view shitu--修改视图相当于在此创建
as
select *from Student
go
--删除视图
drop view shitu
--触发器---特殊的存储过程,通过增删改数据库表来自动引发
create trigger TR_Student_Insert
on student--在那个表上建立触发器
for insert--insect是添加的意思
as
begin
select *from student
end
go
insert into Student values(303,'杨某','男','19901115','95033')--在次往表里添加数据的时候会自动触发 select *from student 查询语句
create trigger TR_Student_Delete
on student
instead of delete --delete是删除的意思
as
begin
print '不能删'
end
go
delete from Student --删除student表 (由于触发器的原因没有删除)
create trigger TR_Student_inseted
on student
instead of update--update是修改
as
begin
--大同小异 这里没有写请见谅
end
go
deleted--只是一个可以临时储存数据的数据表
instead of-- 是命令之前触发
for--是命令之后触发,for还可以写成after