存储过程知识点

存储过程

存储过程的概念

    存储过程是能完成一定功能的T-SQL语句的预编集合,并以特定的名称保存在数据库中。

存储过程的分类

    存储过程可分为系统存储过程和自定义存储过程。

系统存储过程一般用途

    系统存储过程的主要用途是管理和检索信息的快捷方式。

  注:系统存储过程命名以“sp_”开头,并存储在master数据库中。

常用的系统存储过程

系统存储过程

说明

使用语法

Sp_columns

查看表列的信息

Execute sp_columns 表名

Sp_databases

列出服务器中所有数据库

Execute sp_databases

Sp_help

查看某个表的所有信息

Execute sp_help

Sp_helpconstraint

查看某个表中的所有约束

Execute sp_helpconstraint

表名

Sp_helpdb

列出指定的数据库或服务器上的所有的数据库

Execute sp_helpdb 表名 或 execute sp_helpdb

Sp_helptext

显示数据库对象的定义文本(如:存储过程、视图、)

Execute sp_helptext 对象名

Sp_helpindex

查看表的索引信息

Execute sp_helpindex 表名

Sp_renamedb

更改数据库名称

Execute sp_renamedb 原数据库名称 , 新数据库名称

Sp_stored_procedures

列出当前环境可用的所有的存储过程

Execute sp_stored_procedures

Sp_tables

列出当前环境下的表和视图的

Execute sp_tables

 

自定义存储过程

  自定义存储过程根据是否带参数可分为带参数的存储过程和不带参数的存储过程

自定义存储过程的语法

  Create procedure 存储过程名

  [

  @参数1 数据类型[=默认值] [参数类型(output 或input)],

  ....................................................................,

  @参数n 数据类型[=默认值] [参数类型(output 或input)]

  ]

  As

  begin

  T-SQL语句

  End

  Go

存储过程的调用语法

  Execute 存储过程名 [参数1] [output],....,[参数n] [output]

  SQL Server 中还提供以“xp_”开头的扩展存储过程

  如:可以调用dos命令的xp_cmdshell存储过程。其语法如下

  Execute xp_cmdshell ‘doc命令’[no_output]

  其中no_output 不显示存储过程返回的结果

存储过程的优点

  1.执行速度快,效率高

  2.提高安全性

  3.模块式编程

  4.减少网络流量

Return关键字在存储过程的作用

  作用一:以终止存储过程的执行

  作用二:返回存储过程中的数据

  注:return只能返回int类型的数据。

存储过程中数据输出方式

  方式一:使用return关键字的输出

  方式二:使用输出参数的方式输出

存储过程中其数据的接收方式

  方式一:return关键字的输出的接收语法

  Execute 变量=存储过程名 参数1,....,参数n

  方式二:

  Execute 存储过程名 参数1 output,....,参数n output

例如:

  

Create procedure proc_addstu

@name varchar(10),

@age int ,

@sex varchar(2),

@address varchar(50),

@no int output

As

Begin

--向stuinfo表中插入数据

Insert into stuinfo values (@name,@age,@sex,@address)

--调用全局变量并返回数据

Return @@identity

Select @no=stuno from stuinfo where stuname=@name

End

Go

--调用存储过程

Declare @stuid int, @stuno int

Execute @stuid=proc_addstu ‘张三’,20,’男’,‘重庆沙坪坝’,@stuno output

 

 

 

处理错误信息

  Raiserror的语法如下

  Raiserror (自定义的错误信息,错误的严重级别(值:0-18级),错误的严重状态(值:1-127)

posted @ 2013-05-14 11:11  狼刺  阅读(205)  评论(0)    收藏  举报