资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,存储过程,1,课程目标,创建,CREATE PROCEDURE,更改,ALTER PROCEDURE,删除,DROP PROCEDURE,输入、输出参数、返回值的使用,2,存储过程的定义:,是一组预编译好的完成特定功能的,SQL,语句,是存储在服务器上的一个对象,可通过对象名来调用,优点:,提高性能,减轻网络阻塞,可进行模块化程序编写,保证系统的安全性,存储过程,3,用户定义的存储过程,系统存储过程(以,sp_,开头),临时存储过程(以,#,开头),远程存储过程,扩展存储过程(以,xp_,开头),存储过程的类型,4,创建格式:,create,procedure,过程名,as,begin,sql,语句组,end,执行格式:,execute,过程名,存储过程的格式,5,使用,CREATE PROCEDURE,语句创建,语法,:,CREATE PROCEDURE,procedure_name,用户定义的存储过程,CREATE PROCEDURE Titles_1389 AS,BEGIN,PRINT,此代码显示出版商,1389,出版的标题,SELECT * FROM titles WHERE pub_id =,1389,END,EXECUTE Titles_1389,6,注意事项,存储过程的名称必须遵守标识符的命名规则,存储过程中可以创建所有数据库对象,但默认值、 规则、触发器、过程和视图除外。创建对象后,就可以在过程内部进行引用。,存储过程可以引用临时表。,在存储过程内调用的过程可以访问所有在调用过程中创建的对象,在存储过程中可使用2100个参数,只要内存,空间足够,,可以在存储过程中创,建,任意多个局部变量。,存储过程,的,最,大大小为,128,MB,7,存储过程的参数,参数类型:,输入参数:允许调用者向过程传递数据值,输出参数:允许存储过程向调用者返回值,格式:,create,procedure,过程名,parameter,类型,=,缺省值, output,parameter,类型,=,缺省值, output,As sql,语句组,8,举例,9,参数默认值,通过为可选参数指定默认值,可创建带有可选参数的存储过程,如果在存储过程中没有指定参数的默认值,并且调用程序也没有在执行存储过程时为该参数提供值,那么会返回系统错误,CREATE PROCEDURE get_sales_for_title,title varchar(80) = NULL,- NULL default value,ytd_sales int OUTPUT,AS,10,处理错误信息,返回代码:,存储过程的返回代码返回整数值,RAISERROR,:,RAISERROR,语句记录错误并指定严重,性级别,11,RAISERROR 语句,返回用户定义的错误信息,同时设置一个系统以记录已发生的错误,语法,RAISERROR (,msg_id | msg_str, severity, state WITH option,.n,),12,举例,13,修改删除查看存储过程,修改 :,alter,procedure,过程名,as,sql,语句组,删除 :,drop procedure,过程名,查看 :,sp_helptext,过程名,14,两种方法:,使用系统存储过程,SP_RECOMPILE,使用,EXECUTE,时指定,WITH RECOMPILE,重新编译,15,
展开阅读全文