欢迎来到天天文库
浏览记录
ID:45097515
大小:1.02 MB
页数:28页
时间:2019-11-09
《《TSQL程序设计》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章T-SQL程序设计工商管理学院电子商务教研室滕岩(rock_teng@126.com)Autumn2010程序设计基础批处理、脚本局部变量、全局变量函数流程控制语句本章纲要存储过程存储过程的基本概念管理存储过程删除创建6.1.1批处理、脚本当要完成的任务不能由单独的SQL语句来完成时,SQLServer使用批处理、脚本、存储过程等来组织多条SQL语句;基本概念批处理就是一个或多个T-SQL语句的集合使用GO语句作为批处理结束的标志;脚本包含一系列按顺序执行的批处理,可存储为脚本文件;如果在一个批处理中包含任何语法错误,则整个批处理就
2、不能被编译和执行;如果在一个批处理中某句有执行错误,它仅影响该句的执行,并不影响其他语句执行。例6.1学生-课程数据库中,print'学生信息如下:'select*fromstudentprint'学生表记录个数为:'selectcount(*)fromstudentGO学生表:Student(Sno,Sname,Ssex,Sage,Sdept)课程表:Course(Cno,Cname,Cpno,Ccredit)学生选课表:SC(Sno,Cno,Grade)USEstudentcourseGO6.1.1批处理、脚本*.CSV结果集合*.
3、sql脚本文件*.rpt查询报告局部变量-概念局部变量是一个能够保存特定数据类型实例的对象,是程序中各类型数据的最佳临时存储处,用于在Transact-SQL语句之间传递数据;变量的数据类型可以是系统数据类型,也可以是用户自定义的数据类型,但不能把局部变量定义为text,ntext或image数据类型;局部变量是用户自定义的,它的名称以@开头。6.1.2局部变量、全局变量declare@局部变量名数据类型[,…n]declare@namechar(10)declare@phonechar(20),@birthdatetime局部变量-赋值
4、例6.4:声明两个局部字符型变量,并对它们进行赋值,然后将变量的值显示出来。(今天的日期为:系统日期)例:声明一个局部整型变量,存储学生表记录个数。6.1.2局部变量、全局变量set@局部变量名=表达式[,…n]select@局部变量名=表达式[,…n]declare@datechar(20),@strvarchar(30)set@date=getdate()set@str=‘今天的日期为:’print@str+@dateselect@str+@datedeclare@geshuintselect@geshu=count(*)fromst
5、udent如果select语句返回了多个值,则局部变量将取得该select语句所返回的最后一个值;Select中若省略“=表达式”,则会将局部变量的值输出,类似于print语句的功能局部变量-作用域局部变量的作用域是指可以引用该变量的范围;其作用域从声明它们的地方开始,到声明它们的批处理或存储过程的结尾;声明局部变量的批处理或存储过程结束时,局部变量会自动清除。6.1.2局部变量、全局变量全局变量-概念全局变量是SQLServer系统提供并赋值的变量;用户不能建立全局变量,也不能用set语句来修改全局变量;全局变量通常用来保存一些系统信息
6、,如SQLServer的版本信息、SQLServer服务的相关信息等。6.1.2局部变量、全局变量@@全局变量名print@@VERSION--显示版本信息print@@SERVERNAME--显示服务器名称使用方法:在要查看的名称上双击函数-概念6.1.3函数和存储过程功能相似,重点掌握存储过程每个函数都封装了一定的功能;每个函数都有一个名称,名称之后是一对小括号,大部分函数在小括号中需要一个或多个参数;系统函数函数-分类用户定义函数SQLServer提供了数百个内置(系统)函数;可分为字符串函数、数学函数、日期和函数函数、数据类型转
7、换函数等;使用CreateFunction语句创建;常用函数6.1.3函数使用帮助自学系统函数Dateadd()Getdate()Day()Month()Year()Datename()日期和时间函数Begin…end语句块常用流程控制语句6.1.4流程控制语句if…else语句块case表达式while语句数据类型转换函数USEmarketGO例6.13If(select库存量fromgoodswhere货品名称='彩电')<30begindeclare@number1intset@number1=(select库存量fromgoo
8、dswhere货品名称='彩电')print'彩电的库存量为:'+cast(@number1asvarchar(10))print'该商品的库存量已不足,提醒进货!'endGO6
此文档下载收益归作者所有