一. 存储过程

1.  有关概念

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

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

2.  创建一个存储过程

 create procedure procedure_a
as
select * from Student
go

3.  执行存储过程 “procedure_a”

exec procedure_a

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

二 . 触发器

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

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

 create trigger tr_test
on student
for update
as
insert into student values('','张三','男',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'

SQL存储过程和触发器的更多相关文章

  1. 查找SQL 存储过程、触发器、视图!

    ALTER proc [dbo].[SP_SQL](@ObjectName sysname)  as  set nocount on ;  declare @Print nvarchar(max)-- ...

  2. sql 存储过程和触发器

    mysql----------------------------------------------------------------------------------------------- ...

  3. 走向面试之数据库基础:三、SQL进阶之变量、事务、存储过程与触发器

    一.变量那点事儿 1.1 局部变量 (1)声明局部变量 DECLARE @变量名 数据类型 ) DECLARE @id int (2)为变量赋值 SET @变量名 =值 --set用于普通的赋值 SE ...

  4. MS SQL Server之光标、存储过程和触发器

    光标 通常数据库操作被认为是以数据集为基础的操作,但是光标被用于以记录为单位来进行操作,来获取数据库中的数据的子集.光标一般用于过程化程序里的嵌入的SQL语句. 对光标的定义如下: DECLARE C ...

  5. 查看SQL SERVER 加密存储过程,函数,触发器,视图

    原文:查看SQL SERVER 加密存储过程,函数,触发器,视图 create  PROCEDURE sp_decrypt(@objectname varchar(50))ASbeginset noc ...

  6. SQL基本编程,分支语句,循环语句,存储过程,触发器

    基本编程: 定义变量 declare @变量名 数据类型 赋值 set @变量名 = 值 select @变量名 = 值 取值打印 select @变量名 print @变量名 映射到结果集 打印到消 ...

  7. 转:SQL进阶之变量、事务、存储过程与触发器

    一.变量那点事儿 1.1 局部变量 (1)声明局部变量 DECLARE @变量名 数据类型 DECLARE @name varchar(20) DECLARE @id int (2)为变量赋值 SET ...

  8. SQL server 数据库的索引和视图、存储过程和触发器

    1.索引:数据排序的方法,快速查询数据 分类: 唯一索引:不允许有相同值 主键索引:自动创建的主键对应的索引,命令方式不可删 聚集索引:物理顺序与索引顺序一致,只能创建一个 非聚集索引:物理顺序与索引 ...

  9. SQL Server CLR 使用 C# 自定义存储过程和触发器

    资源来源:https://www.cnblogs.com/Brambling/p/8016060.html SQL Server CLR 使用 C# 自定义存储过程和触发器   这一篇博客接着上一篇博 ...

随机推荐

  1. 电商ERP如何接入智选物流平台?

    智选物流是综合地址库+时效库+逻辑库(成本.订单属性.仓库)选择出最优快递,通过多家快递网点地址库精准数据,点对点的运输时间,各种行业包裹的所有快递价格逻辑,不同产品类型.支付方式等分析,实现不同仓库 ...

  2. 防火墙导致FTP传输文件为0

    在使用 ftpClient 传输文件到FTPserver时,在别的机器上可以正常使用,但是到自己的机器有就始终是0文件,发现是Mcafee 防火墙导致的,只要让防火墙放行即可. Mcafee防火墙的放 ...

  3. C. Guess Your Way Out!

    C. Guess Your Way Out!                                                               time limit per ...

  4. 乐在其中设计模式(C#) - 代理模式(Proxy Pattern)【转】

    介绍 为其他对象提供一个代理以控制对这个对象的访问. 示例 有一个Message实体类,某对象对它的操作有Insert()和Get()方法,用一个代理来控制对这个对象的访问. MessageModel ...

  5. struts2 后台action向前端JSP传递参数的问题

    后台有个方法,里面部分代码如下: System.out.print("alter:"+user.getId()); User temp=userservice.getUserByU ...

  6. spring+hibernate+struts整合(1)

    spring+hibernate:整合 步骤1:引入类包 如下图:这里是所有的类包,为后面的struts整合考虑

  7. Source Insight新建工程文件

    options->document options ->document type ->c source file 下 //添加 “.S”结尾的汇编语言支持   project -& ...

  8. linux内存查看

    一般用free命令,显示整体内存使用状况: 第二行从OS角度,used包括内核+应用+buffers+cached使用的内存,buffers/cached是磁盘缓存的大小 第三行从应用角度,可用内存= ...

  9. MSP430常见问题之IO端口类

    Q1:请问430 的I/O 中断能不能可靠的响应60ns 的脉冲信号, 就是来了一个60ns 的脉冲,430 的中断会有丢失吗?A1:端口支持的最高8M的时钟,无法响应这么快的频率. Q2:430是3 ...

  10. 为dedecms v5.7的ckeditor添加jwplayer插件

    dedecms v5.7的默认编辑器是ckeditor,不过用的是php版本的,默认的工具栏不在config.js里面配置,而是在ckeditor.inc.php里面配置,默认的工具栏是$toolba ...