目录
存储过程
1.概念理解
SQL Server中的存储过程是由一个或多个T-SQL语句组成的一个集合。常用的程序代码段通常被创建成存储过程,一次创建多次调用,这样既简化程序员的工作也减少与服务器交互的网络通信流量。存储过程中可以包含数据库中执行操作的程序语句,也包括调用其它过程。存储过程可以接收和输出参数,向调用它的程序返回值。存储过程被调用后,会返回给调用它的程序状态值,以表明调用成功或者调用失败以及失败的原因。
2.存储过程分类
用户自定义的存储过程、系统存储过程和扩展存储过程三种类型。
用户自定义的存储过程:该存储过程中封装了用户所需的功能代码,它可以单纯实现一段程序代码,也可以通过输入参数接收用户输入的值,还能够使用输出参数将存储过程执行后的结果返回给调用它的语句。
系统存储过程:以sp_开头的存储过程是系统存储过程。简单地说它是系统已经封装好的程序代码,用户只需通过执行存储过程的语句调用相应的存储过程以得到所需结果。在前面的项目中我们使用过系统存储过程sp_helptext查看索引信息,使用系统存储过程sp_helpindex查看表中索引信息等。
扩展存储过程:以xp_开头的存储过程是扩展存储过程,它也有系统提供,用来在SQL Server和外部程序之间提供一个接口,以实现各种系统的维护活动。例如,xp_logininfo表示返回Windows用户和Windows组的相关信息。
3.存储过程管理
3.1不带参数存储过程
在SQL Server中创建存储过程可以使用“管理器”和T-SQL语言两种方式。需要拥有创建存储过程的权限,才能使用create procedure命令创建存储过程。在一个批处理中,不能将create procedure语句与其它T-SQL语句组合使用。在创建存储过程时,系统并不对存储过程所要实现的功能做语法或执行检查,只有当第一次编译时才能解析到存储过程中引用的对象是否正确。因此,语法正确的存储过程可以被成功创建,但不一定可以被成功编译执行。