My SQL Server存储过程创建及调用
3644 点击·0 回帖
![]() | ![]() | |
![]() | My SQL Server存储过程创建及调用
存储过程优点: ① 执行速度快 ② 模板化程序设计 ③ 减少网络流量 ④提供系统安全性 .什么是存储过程 存储过程(stored procdures)是Sql查询语句与控制流语句的预编译集合,并以特定的名称保存在数据库中。且分为自定义存储过程与系统存储过程 ·系统存储过程 →系统存储过程命名以“sp_”开头和“xp_”开头。在master数据库中 →扩展存储过程:xp_cmdshell ,可以调用DOS命令 用法如下: exec xp_cmdshell Dos命令 [no_output] →execute 用来调用存储过程,也可缩写为exec 语法: execute '存储过程名' '参数' --如果没有参数则省略参数 ·用户自定义存储过程 语法: create procedure 存储过程名 @参数1名 数据类型[ = 默认值][参数类型(输入/输出)] ... @参数n名 数据类型[ = 默认值][参数类型(输入/输出)] as sql语句 ... go *注意:参数类型分为输入与输出参数,默认为输入参数,使用output表示输出,创建存储过程最好以 proc 开头。 ①创建不带参数的存储过程 例: 查询所有空闲的电脑信息 --判断存储过程是否存在 if exists(select * from sysobjects where[name]='proc_GetPc') drop procedure proc_GetPc go --创建不带参数的存储过程 create procedure proc_GetPc --没有参数 as select pcId as '电脑编号', '电脑使用状态'=case when PcUse=0 then '空闲' when PcUse=1 then '空闲' PcNote as '备注' from PcInfo where PcUse=0 go --调用存储过程 execute proc_GetPc ②创建带输入参数的存储过程 语法: create procedure 存储过程名 @参数1名 数据类型[= 默认值] ... @参数N名 数据类型[= 默认值] as SQL语句 ... go ③创建带输出参数的存储过程 与C语言的返回值类似,执行存储过程后,一可以返回值。但与C语言只能返回一个值不同,存储过程可以返回一个或多个值。这就需要我们定义并接收输出(output)参数。 ④return的使用 return 关键字终止存储过程的执行或返回数据。类似C语言函数中的return。 return 只能返回int 类型,output 返回任意类型。 ·处理错误信息 SQL Server中使用raiserror返回用户自定义的错误信息。 语法: RAISERROR(自定义的错误信息,错误的严重级别,错误的状态) →自定义错误信息:表示输出的错误提示文本。 →错误的严重级别:表示用户自定义错误的严重级性级别。 →错误的状态:表示自定义错误的状态,值的范围在1-127。 .存储过程是数据库对象,可以使用 DROP PROCEDURE语句删除存储过程。 | |
![]() | ![]() |