[原文请戳:使劲的戳我来看原文!!!,,, 还有我还有我也是讲存储过程]
本文综合整理了以下几篇文章,感谢原来的原作者!!!
存储过程的概念
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。
存储过程Procedure是一组为了完成特定功能的SQL语句集合!经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。
存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。
由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快。 同时由于在调用时只需要提供存储过程名和必要的参数信息,所以在一定程度上也可以减少网络流量、简单网络负担。
存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句。
存储过程是SQL查询语句与控制流程语句的预编译集合,并以特定的名称保存在数据库中。
存储过程也是数据库对象!!!
为什么用存储过程?
- 存储过程只在创造时编译,以后每次执行存储过程都不需要再重新编译;而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度
- 当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来,与数据库提供的事务处理结合一起使用
- 存储过程可以重复使用,可减少数据库开发人员的工作量
- 安全性高,可设定只有某些用户才具有对指定存储过程的使用权
怎么用存储过程?
以下通过下面表Student来了解存储过程,因为只是要了解存储过程的简单用法,所以例子都比较简单
number | name | birth | sex |
1 | Lyn | 1905-05-18 00:00:00.000 | Female |
2 | Tyler | 1905-05-22 00:00:00.000 | Male |
3 | Linda | 1905-06-02 00:00:00.000 | Female |
4 | Tony | 1905-05-07 00:00:00.000 | Male |
5 | Lisa | 1905-06-02 00:00:00.000 | Female |
6 | Eric | 1905-06-09 00:00:00.000 | Male |
7 | Sarah | 1905-05-11 00:00:00.000 | Female |
8 | Peter | 1905-04-13 00:00:00.000 | Male |
Drop数据库时出现以下错误时:Cannot drop database "database_name" because it is currently in use.
解决方法, 使用以下command即可完成删除数据库操作!!
use master
go
alter database database_name set single_user with rollback immediate
go
drop database database_name
go
系统存储过程
用户自定义存储过程
Raiserror