SQL-Server学习笔记08-T-SQL存储过程及触发器

一、存储过程

一种为了完成特定功能的一个或一组sql语句集合,经编译后存储在服务器端的数据库中,可以利用存储过程来加速sql语句的执行。

优点:提高应用程序的通用性和可移植性,多次调用,而不必重新编写,维护人员可随时修改;可更有效管理数据的权限;提高执行sql的数据;减轻服务器负担

缺点:占用空间

1、分类

系统存储过程:存在于master数据库中,在创建数据库时,这些过程自动创建,可以直接调用,不用加数据库名。

自定义存储过程:用户为完成特定功能而创建,可传入参数,也可以有返回值(表明是否成功)。

执行:execute/exec 过程名 参数1,参数2···

2、创建存储过程

--创建
CREATE PROCEDURE SearchStuInfo
AS
BEGIN
    select * from student
END
GO
--Procedure可简写为proc

--修改
alter PROCEDURE SearchStuInfo
AS
BEGIN
    select * from student
    select * from score
END
GO

--执行
exec SearchStuInfo

3、带参数的存储过程

create PROCEDURE AddStuInfo
@id int,
@name varchar(16)
AS
BEGIN
    declare @date datetime    --声明一个变量
	set @date='2012-09-01'    --赋值
	insert student2(s_id,s_name,s_date)
	values(@id,@name,@date)
	select * from student2
END
GO

exec AddStuInfo 5,'许一'

二、触发器

一种特殊类型的存储过程,不同的是,触发器是通过事件触发的,自动调用执行。

事件:对表的增删改、

分类:

DDL触发器:create、alter、drop

DML触发器:insert、update、delete

        after触发器:dml执行后触发

        instead of触发器:不执行dml,执行触发器命令

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值