zoukankan      html  css  js  c++  java
  • 视图、存储过程、触发器讲解

    视图的特点

    视图只是一种逻辑对象,是一种虚拟表,它并不是物理对象,因为视图不占物理存储空间,在视图中被查询的表称为视图的基表,大多数的select语句都可以用在创建视图中

    优点:集中用户使用的数据,掩码数据的复杂性,简化权限管理以及为向其他应用程序输出而重新组织数据等等

    语法:  create view view_name [(column[,...n])]

         with encryption

         as select_statement

         with check option


    存储过程的特点

    存储过程是存储在服务器上的一组预编译的Transact-SQL语句,存储过程是一种封装重复任务操作的一种方法,支持用户提供的变量,具有强大的编程功能

    优点:与其他应用程序共享应用程序的逻辑,因此确保一致的数据访问和操纵

         提供一种安全机制

       加速存储过程的执行,提高系统的性能

       减少网络交通

    存储过程的类型:系统存储过程、本地存储过程、临时存储过程、远程存储过程和扩展存储过程。不同类型的存储过程具有不同的作用

    语法:    create procedure procedure_name

         @parameter data_type

           with{recompile|encryption|recompile,encryption}

           as sql_statement

    执行存储过程有两种方法:

    方法一:直接执行存储过程,就是调用execute语句来执行存储过程

    方法二:在insert语句中执行存储过程


    触发器的特点

    当有操作影响到触发器保护的数据时,触发器就自动发生,因此,触发器是在特定表上进行定义的,该表也称为触发器表,也是一种特殊类型的存储过程,与存储过程的区别:存储过程可以由用户直接调用执行,但是触发器不能被直接调用执行

    触发器的类型:insert类型,update类型,delete类型

    语法:   create trigger trigger_name

        on {table |view}

        with encryprion

        {for|after|instead of}{[delete][,][insert][,][update]}

        as sql _statement

    工作原理:

    (insert)当向表中插入数据时,insert触发器触发执行,当insert触发器触发时,新的记录增加到触发器表中和inserted表中。触发器可以检查inserted表,来确定该触发器的操作是否应该执行和如何执行,在inserted表中的那些记录,总是触发器表中一行或多行记录的冗余;

    (delete)当触发一个delete触发器时,被删除的记录房子一个特殊的deleted表中。deleted表是一个逻辑表,用来保存已经从表中删除的记录;

    (update)修改一条记录就等于插入一条新记录和删除一条旧记录,当在某一个update触发器表的上面修改一条记录时,表中原来的记录移动到deleted表中,修改过的记录插入到了inserted表中,触发器可以检查deleted表和inserted表以及被修改的表。

    一个触发器实例:

    一般地,开发触发器的过程包括用户需求分析,确定触发器的逻辑结构,编写触发器代码和测试触发器

  • 相关阅读:
    HTML5结构
    HTML5新增的非主体元素header元素、footer元素、hgroup元素、adress元素
    CF GYM 100703G Game of numbers
    CF GYM 100703I Endeavor for perfection
    CF GYM 100703K Word order
    CF GYM 100703L Many questions
    CF GYM 100703M It's complicate
    HDU 5313 Bipartite Graph
    CF 560e Gerald and Giant Chess
    POJ 2479 Maximum sum
  • 原文地址:https://www.cnblogs.com/insane-Mr-Li/p/10102611.html
Copyright © 2011-2022 走看看