SQL存储过程和触发器
一. 存储过程
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存储过程和触发器的更多相关文章
- 查找SQL 存储过程、触发器、视图!
ALTER proc [dbo].[SP_SQL](@ObjectName sysname) as set nocount on ; declare @Print nvarchar(max)-- ...
- sql 存储过程和触发器
mysql----------------------------------------------------------------------------------------------- ...
- 走向面试之数据库基础:三、SQL进阶之变量、事务、存储过程与触发器
一.变量那点事儿 1.1 局部变量 (1)声明局部变量 DECLARE @变量名 数据类型 ) DECLARE @id int (2)为变量赋值 SET @变量名 =值 --set用于普通的赋值 SE ...
- MS SQL Server之光标、存储过程和触发器
光标 通常数据库操作被认为是以数据集为基础的操作,但是光标被用于以记录为单位来进行操作,来获取数据库中的数据的子集.光标一般用于过程化程序里的嵌入的SQL语句. 对光标的定义如下: DECLARE C ...
- 查看SQL SERVER 加密存储过程,函数,触发器,视图
原文:查看SQL SERVER 加密存储过程,函数,触发器,视图 create PROCEDURE sp_decrypt(@objectname varchar(50))ASbeginset noc ...
- SQL基本编程,分支语句,循环语句,存储过程,触发器
基本编程: 定义变量 declare @变量名 数据类型 赋值 set @变量名 = 值 select @变量名 = 值 取值打印 select @变量名 print @变量名 映射到结果集 打印到消 ...
- 转:SQL进阶之变量、事务、存储过程与触发器
一.变量那点事儿 1.1 局部变量 (1)声明局部变量 DECLARE @变量名 数据类型 DECLARE @name varchar(20) DECLARE @id int (2)为变量赋值 SET ...
- SQL server 数据库的索引和视图、存储过程和触发器
1.索引:数据排序的方法,快速查询数据 分类: 唯一索引:不允许有相同值 主键索引:自动创建的主键对应的索引,命令方式不可删 聚集索引:物理顺序与索引顺序一致,只能创建一个 非聚集索引:物理顺序与索引 ...
- SQL Server CLR 使用 C# 自定义存储过程和触发器
资源来源:https://www.cnblogs.com/Brambling/p/8016060.html SQL Server CLR 使用 C# 自定义存储过程和触发器 这一篇博客接着上一篇博 ...
随机推荐
- hive-安装0.13.1(hadoop2.2.0)
hadoop2.2.0 hive0.13.1 (事先已经安装好hadoop.MySQL以及在MySQL中建好了hive专用账号,数据创建不创建都可以) 1.下载解压 2.把MySQL驱动加入hive的 ...
- org.apache.hadoop.filecache-*
我不知道为什么这个包为什么是空的,从名字上看应该是一些管理文件缓存的类吗? 网上也没查到什么,各种群里也没大牛回答. 期望某位大牛能告诉我答案,谢谢
- 关于IE8不支持document.getElementById().innerHTML的问题
document.getElementById("id").innerHTML = (showinfo);//IE8不支持. 可以用Jquery来解决这个问题: $('#id'). ...
- js中call和apply的用法和区别
它们的作用都是将函数绑定到另外一个对象上去运行,两者仅在定义参数方式有所区别: obj.call(thisObj, arg1, arg2, ...); obj.apply(thisObj, [arg1 ...
- React History
1. browerhistory 1. 推荐使用, 2. nginx服务器要配置try-file,当找不到路由时跳转到首页 3. 使用浏览器history对象,不再允许直接访问nn 所以不能直接拷贝地 ...
- Tomcat发生异常
The Apache Tomcat Native library which allows optimal performance in production environments was not ...
- Nginx - HTTP Configuration, Module Variables
The HTTP Core module introduces a large set of variables that you can use within the value of direct ...
- JAVA TCP网络编程学习笔记
一.JAVA网络编程概述 网络应用程序,就是在已实现网络互联的不同计算机上运行的应用程序,这些程序之间可以相互交换数据.JAVA是优秀的网络编程语言,Java网络编程的类库位于java.net包中.J ...
- Excel数据生成Sql语句的方法
选中想要生成的列,套用表格格式,选中表包含标题的选项确定,然后在最右边的一列第二行处,点击函数功能,选择CONCATENATE,在文本里输入想要的结构即可 代码如下 复制代码 ,=CONCATENA ...
- iOS开发——model类模板(过滤null和ID)
说明:model类模板已默认过滤null值,附加特殊情况的关键字ID名的冲突(需手动去掉注释代码).MyMessageModel为示例的名字.可以自己随便起. 1.自己创建一个继承与N ...