SQL server 数据库的存储过程和触发器

3、存储过程:SQL语句和控制句的预编译集合,保存在数据库(resource),可由应用程序调用执行

优点:①模块化:一次创建,多次调用

②速度快、效率高

③减少网络流量

④安全性好

分类:①系统存储过程:以sp_ 开头

sp_databases :数据库信息

sp_tables :表和视图

sp_helptext :存储过程、触发器、视图的信息

扩展存储过程,可以执行SQL外的命令,比如操作系统命令,以xp_ 开头

②用户自定义存储过程:

命令:create procedure 存储过程名 as SQL语句

执行:exec 存储过程名

可以添加、输入、输出的参数值

4、触发器:对表进行插入、更新、删除时自动执行的存储过程

可以实现比check约束更复杂的约束,通过事件而触发

分类:①insert触发器:插入数据触发

②update触发器:更新数据触发

③delete触发器:删除数据触发

触发器的表:存储在内存中,触发器完成则删除

inserted表:保存新增的和更新的信息

deleted表:存放被删除和更新前的记录

命令:create trigger 触发器名 on 表名 for [update,insert,delete] as SQL命令

原文发布于微信公众号 - L宝宝聊IT(gh_b0e552aa80db)

原文发表时间:2017-12-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏禁心尽力

Object Relational Mapping框架之Hibernate

hibernate框架简介:   hibernate框架就是开发中在持久层中应用居多的ORM框架,它对JDBC做了轻量级的封装。 ? 什么是ORM:Object...

2147
来自专栏闵开慧

Ubuntu 下mysql常用操作

1:打开mysql数据库 mysql -h主机地址 -u用户名 -p用户密码 mysql -h110.110.110.110 -uroot -pabcd123 ...

3587
来自专栏编程

利用Django在前端展示TOP SQL信息

开发环境 操作系统:CentOS 7.4 Python版本 :3.6 Django版本: 1.10.5 操作系统用户:oms 数据处理:pandas 通过上面我...

2476
来自专栏VMCloud

【腾讯云的1001种玩法】构建企业级应用环境之数据层面优化(二)

在上一篇中我们讲到准备SQL基础环境改造,这一篇将继续讲述如何为应用提供高可用的底层数据层。

6110
来自专栏linux系统运维

mysql用户管理,常用sql语句,mysql数据库备份恢复

2377
来自专栏转载gongluck的CSDN博客

利用xinetd实现简单web服务器(镜像站)

浏览效果: ? linux服务器安装xinetd后,在/etc/xinetd.d/目录下创建xhttpd文件,并输入内容: service xhttpd { ...

4236
来自专栏小白安全

小白博客 MySQL备份和还原数据库常用的命令

备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backu...

3607
来自专栏LIN_ZONE

mysql存储emoji问题

前一段时间,项目中需要在数据库中存储emoji,由于编码格式不对,直接导致数据库报错,后来修改mysql的编码,就解决了

1346
来自专栏Python、Flask、Django

MySQL快速建立远程连接

1514
来自专栏上善若水

013 windows10 mysql的安装

Access denied for user 'root'@'localhost' (using password:YES) 解决方案 问题的解决

1403

扫码关注云+社区

领取腾讯云代金券