美文网首页
54 SQL中的视图和触发器

54 SQL中的视图和触发器

作者: 夏威夷的芒果 | 来源:发表于2018-11-28 22:04 被阅读7次

为什么要有视图

视图和基本表的关系


练习

SQL视图

视图的建立和删除


视图插入数据

视图数据的删改


如果视图中存在由表达式生成的属性,因此只能进行有限的数据更新操作,只允许删除操作,不允许插入和修改操作。

视图在数据库中是一个虚表,并不存在,系统只是存储视图的定义。
在对视图中的数据进行修改时,实际上就是修改数据库中基本表中的数据,会对原有数据库的数据造成影响。

练习


两个示例

CREATE VIEW T1(ID, T_Name,Gender,Age,Dept) AS 
SELECT  TeacherID,Name,Gender,Age,Dept 
FROM Teacher 
WHERE Dept = 'CS' 
WITH CHECK OPTION;  
CREATE VIEW T2 (ID,T_Name,Gender,Age,YearofBirth,Dept) AS 
SELECT TeacherID,Name,Gender,Age, 2017-Age,Dept 
FROM Teacher WHERE Dept = 'CS' 
WITH CHECK OPTION;

如要删除视图,需用DROP VIEW 视图名 ,不加VIEW不好使。

DROP VIEW T2

SQL中的触发器

练习


例如:
在 Student 表上定义一个触发器 Year_Change,该触发器的触发条件是表 Time 上有更新数据的操作之后。例如将 thisYear 从 2017 变为 2018,触发后会将学生信息表 Student (ID, Name, Age, Gender, YearofEnroll,Dept) 中的年龄属性 Age,根据年份的变化进行更新,年份的增量就是年龄的增量。

CREATE TRIGGER YEAR_Change AFTER UPDATE ON Time
FOR EACH ROW
UPDATE Student SET Age = Age + NEW.thisYear - OLD.thisYear;

相关文章

  • 54 SQL中的视图和触发器

    为什么要有视图 视图和基本表的关系 练习 SQL视图 视图的建立和删除 视图插入数据 视图数据的删改 如果视图中存...

  • mysql视图,触发器,存储过程优缺点及应用分析

    mysql视图,触发器,存储过程优缺点及应用分析 视图 mysql使用较少,是sql server和orcale使...

  • 数据库基础知识整理-SQL视图

    数据库基础知识整理-SQL视图 视图 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。 视图包含行和...

  • 第十七章 使用触发器

    第十七章 使用触发器 本章介绍如何在Intersystems SQL中定义触发器。触发器是响应某些SQL事件执行的...

  • docker实现postgresql

    (PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、...

  • .NET开发相关技术

    Sql Server基础知识 查询 存储过程 触发器 视图 事务 锁(多用户并发操作) 性能优化 索引 c#基础加...

  • 10)mysql高级SQL语句

    视图(Views)视图是可视化的表在sql中,视图是基于sql语句的结果集的可视化表视图包含行和列,像一个真实的表...

  • SQL 简易教程 下

    SQL 视图(Views) 视图是可视化的表。 本章讲解如何创建、更新和删除视图。 在 SQL 中,视图是基于 S...

  • SQL中的视图

    在SQL 中,视图是基于SQL 语句的结果集的可视化的表。 视图包含行和列,就像一个真实的表。 视图中的字段就是来...

  • 视图

    SQL CREATE VIEW 语句 什么是视图?在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。视...

网友评论

      本文标题:54 SQL中的视图和触发器

      本文链接:https://www.haomeiwen.com/subject/hihaqqtx.html