SQL视图与触发器

视图(虚拟的表)

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

inserted--只是一个可以临时储存数据的数据表

deleted--只是一个可以临时储存数据的数据表

instead of-- 是命令之前触发

for--是命令之后触发,for还可以写成after

时间: 2024-12-30 13:43:40

SQL视图与触发器的相关文章

SQL视图&触发器

SQL视图 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的字段就是来自一个或多个数据库中的真实的表中的字段.我们可以向视图添加 SQL 函数.WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表. SQL CREATE VIEW 语法 CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition 视图的优点:1,可

SQL 视图 局部变量 全局变量 条件语句 事务 触发器

一.视图 1.视图是一张虚拟表,他所存储的不是实际数据,而是查询语句,但我们可以对视图进行像数据表一样的操作. 2.为什么使用视图呢?我的理解是:1.在远程传输数据时,可以避免过长的查询字符,减少流量.2.他可以简化繁杂的多表嵌套查询语句.3.安全性,防止非法用户访问敏感数据,因为我们可以通过创建视图展示给用户,我们想要给他们查看的数据. 3.视图的创建 create view vw_city as select cityName from city --这个查询语句可以随便的写,如果是些多层次

数据库 的outfile 备份与还原 视图 事物 触发器 mysql函数和自定义函数

outfile    将数据库的数据导出 select * into outfile 'e://mysqloutfile//1.txt' from 表格名; 备份与还原 不再mysql目录下进行备份,mysqldump -uroot -p 数据库名 +表格名 > 具体的路径名(你要导入到哪里) 如果你想得到多张表的那么就在表格后面加一个表格 还原: 先删除数据库的所有东西 如果删除不了,那么就是还有没有删除干净 新建一个数据库 ,用数据库 找到文件   source +具体的文件;将数据导入 视

SQL Server DDL 触发器(Trigger)-- 介绍

SQL Server DDL 触发器(Trigger)-- 介绍 触发器(Trigger)以往仅用在特定的对象上,如数据表.当数据维护语言(DML)的Insert.Delete.Update语法针对这些对象工作时,由系统自动调用对应的触发器,而在SQL Server 2000中增加了Instead of Trigger,通过触发器来取代原本要执行的添加.修改.删除语法,且可以设置在视图上.由于Instead of Trigger是在DML语法真的改变数据写入事务日志之前触发,因此,也称为Befo

SQL Server:触发器详解

SQL Server:触发器详解 1. 概述 2. 触发器的分类 3. Inserted和Deleted表 4. 触发器的执行过程 5. 创建触发器 6. 修改触发器: 7. 删除触发器: 8. 查看数据库中已有触发器: 9. “Instead of”相关示例: 10. “After”触发器 11. 参考资源 1. 概述 触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活. 所以触发器可以用来实现对表实施复杂的完整性约束. 2. 触发器的分类

SQL中的触发器

触发器 (一)理解: 是一种特殊的存储过程,它不能显式地调用,而是进行insert.delete.update时被自动低激活.总结一句话就是:用来实现对标实施完整性约束的. SQL Server为每个触发器都创建了两个表:inserted和deleted表.它们是系统维护的,它们存在在内存中,不是在数据库中,这连个标的结构总是与被该触发器作用的标的结构相同.触发器执行与该触发器相连的这两个表也被删除. (二)类型: Instead of 和After触发器 instead of 触发器用于替代(

Sql server 2008 触发器实现

昨天在进行系统升级中,对于某些程序生成的中间表数据的矫正的工作十分恼火.因现场采集设备和计量设备运行情况及变更情况不可控.常常造成因非程序因素(自定义名词,大概的意思就是因为现场采集设备断电.计量设备更换.系统基础通讯信息发生变更等一系列认为原因影响数据存储的准确性),影响后期的数据统计分析的准确性和有效性.不时被客户发现直接向市场部投诉说系统不稳定,要求现场排查问题.我擦!牢骚终止. 终究其问题主要是在生成中间表时,没有必要的验证.只是单纯的在某项操作中,添加的生成中间表的响应操作.后期当发现

sql 视图的作用(转http://www.cup.edu.cn/nic/Programing/database/34943.htm)

前段时间作项目中,遇到使用视图的问题,以前的工作中很少遇到视图,认为直接用表就ok了,何须视图呢?下面我来讲述一下它的功用:以往当我们查询数据时,一定要很认真的地从设计select语句开始,将需要查询的每个字段写在sql语句里, 前段时间作项目中,遇到使用视图的问题,以前的工作中很少遇到视图,认为直接用表就ok了,何须视图呢?下面我来讲述一下它的功用:以往当我们查询数据时,一定要很认真的地从设计select语句开始,将需要查询的每个字段写在sql语句里,每次你要以同样的条件来查询数据时,那么每次

【机房重构】——视图,触发器,存储过程的使用

在机房收费系统中,对多个表的查询,要写多个SQL是很麻烦的事情,为了方便我们写代码,同时对代码进行解耦和,我们引用了视图,触发器,存储过程. 一.是什么? 视图 从若干个基本表和其他视图构造出来的虚拟表.视图本身并不存储实际的数据,而仅仅存储一个Select语句和所涉及表的metadata. 触发器 特殊的存储过程,此机制是由事务触发而完成的,而不是存储过程的调用. 存储过程 一组完成特定功能的SQL语句集合以及流程控制语句编写的模块,存储过程经过编译后存储在数据库服务端的数据库中,使用时调用即