欢迎来到天天文库
浏览记录
ID:48804709
大小:96.50 KB
页数:16页
时间:2020-01-26
《数据库技术与应用-第05讲 T-SQL与存储过程.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第05讲T-SQL与存储过程§1T-SQL一、T-SQL(Transact-SQL)概述SQL是StructuredQueryLanguage(结构化查询语言)的缩写,T-SQL是MicrosoftSQLServer2000中使用的SQL。2二、Transact-SQL常用语言元素1、注释/*注释文本*/注释多行文本--注释文本注释单行文本2、变量两种形式变量:全局变量和局部变量全局变量:以@@标志开始局部变量:以@标志开始3全局变量在整个SQLServer系统内使用。存储的通常是一些SQLServer的配置设定值和统计数据。在使用全局变量时应该注意以下几点:用户只能使用预先定义的全局变量。引
2、用全局变量时,必须以标记符“@@”开头。全局变量对用户来说是只读的。局部变量的名称不能与全局变量的名称相同。4局部变量可以保存程序执行过程中的中间数据值,保存由存储过程返回的数据值等。1)局部变量的定义DECLAER@变量名类型[,…n]2)局部变量的赋值方法SET@变量名=expression或者SELECT@变量名=expression[,...n]5例:查询学号为j0001的学生的性别,并将值赋给变量Declare@varsexchar(2),@varsnochar(8)Set@varsno=‘j0001’Select@varsex=sexFromSWheresno=@varsno6注:
3、向变量赋值的语句不能与数据检索操作混合使用。Declare@varsexchar(2),@varsnochar(8)Set@varsno=‘j0001’Selectsname,@varsex=sex错误FromSWheresno=@varsno73、PRINT语句格式:PRINT<字符串,能隐式转换为字符串的变量、函数及表达式>功能:将定义的消息返回给客户端。4、RETURN语句格式:RETURN[整型表达式]功能:无条件退出应用形式:RETURNRETURN整型表达式RETURN(整型表达式)85、@@ERROR函数功能:返回最后执行的T-SQL语句的错误代码(整型)。如果执行成功,则@@E
4、RROR为0;若执行出现错误,则@@ERROR为实际错误的代码。注:在sysmessages系统表中存储与@@ERROR错误代码相关的文本信息。9三、Transact-SQL控制流1、BEGIN…END语句:将多个SQL语句组成一个语句块。BEGIN……SQL语句END2、IF…ELSE语句IF逻辑表达式……SQL语句块[ELSE……SQL语句块]103、WHILE…CONTINUE…BREAK语句while逻辑表达式Begin……SQL语句[BREAK]--退出while循环,执行end后的语句。……SQL语句[CONTINUE]--结束本次循环,进入下一次while循环。end例:P136
5、例5.2611§2存储过程一、存储过程概述存储过程是存储在数据库内的SQL语句和控制流语句的预编译集合。SQLServer中的存储过程有两类:1)系统存储过程:一般以sp_为前缀。2)用户自定义存储过程12二、创建存储过程CREATEPROCEDURE/PROC存储过程名[@参数名类型[=默认值]][,……重复]ASSQL语句GO13例:创建存储过程ABC,根据提供的学号查询该学生姓名以及他们的选课名称及得分,当没有提供学号时,则按学号默认值‘j0401’进行查询。CREATEPROCABC@p_snovarchar(8)=‘j0401’ASSELECTsname,cname,gradeFRO
6、MS,SC,CWHERES.sno=SC.snoANDC.cno=SC.cnoANDS.sno=@p_snoGO14三、执行存储过程EXECUTE/EXEC存储过程名[[@参数名=]值][,……重复]CREATEPROCABC@p_snovarchar(8)=‘j0401’ASSELECTsname,cname,gradeFROMS,SC,CWHERES.sno=SC.snoANDC.cno=SC.cnoANDS.sno=@p_snoGO例:执行存储过程ABCEXECABC--没提供值,则按默认值‘j0401’查询或:EXECABC@p_sno=‘j0403’--同时提供参数和值或:EXECA
7、BC‘j0403’--仅提供值15实例讲解例:P158例6.10,注意返回值的获取方法。例:P173例6.26,注意错误代码函数@@ERROR的判断与使用。16
此文档下载收益归作者所有