zoukankan      html  css  js  c++  java
  • SQL存储过程和触发器

    一. 存储过程

    1.  有关概念

      存储过程是由SQL语句及控制流语句组成的集合。调用一个存储过程,可以一次性地执行过程中的所有语句。从这一点来说,它类似于程序。

    存储过程由用户建立,它作为数据库的一个成分,存在于数据库中。

    2.  创建一个存储过程 

     

    1 create procedure procedure_a
    2 as 
    3 select * from Student
    4 go 

     3.  执行存储过程 “procedure_a”

    exec procedure_a

     当上述命令执行之后, 会立即执行位于存储过程定义中的 "select * from Student" 语句

    二 . 触发器

      触发器是一种特殊的存储过程, 用它来控制关联的表。

     

    1. 创建一个名为 “tr_test” 的触发器

    1 create trigger tr_test 
    2 on student 
    3 for update
    4 as
    5 insert into student values('95005','张三','',21,'CS')

    创建完成之后, 正如触发器定义中那样, 每当对表 Student 进行 update 操作的时候, 触发器都会被触发, 然后立即执行语句 :

    insert into student values('95005','张三','男',21,'CS')

    2. 删除一个触发器

    drop trigger tr_test

    PS:

    1. 查看当前库中有哪些触发器 

    select * from sysobjects where xtype = 'TR'

    2. 查看名为 “tr_test” 触发器的定义

    exec sp_helptext 'tr_test'

    3. 查看名为 “tr_test” 触发器的有关信息

    exec sp_help 'tr_test'
  • 相关阅读:
    [BZOJ 2821] 作诗
    [P1084] 疫情控制
    [BZOJ 2243] 染色
    Session
    Jinja2 及 render_template 的深度用法
    request机制
    三件套
    初识flask
    mysql大法
    liunx命令大全
  • 原文地址:https://www.cnblogs.com/kba977/p/sql.html
Copyright © 2011-2022 走看看