实现公司管理数据系统的编程

上传人:aa****6 文档编号:54134301 上传时间:2018-09-08 格式:PPT 页数:63 大小:278KB
返回 下载 相关 举报
实现公司管理数据系统的编程_第1页
第1页 / 共63页
实现公司管理数据系统的编程_第2页
第2页 / 共63页
实现公司管理数据系统的编程_第3页
第3页 / 共63页
实现公司管理数据系统的编程_第4页
第4页 / 共63页
实现公司管理数据系统的编程_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《实现公司管理数据系统的编程》由会员分享,可在线阅读,更多相关《实现公司管理数据系统的编程(63页珍藏版)》请在金锄头文库上搜索。

1、项目五 实现公司管理数据系统的编程,终极目标:会利用变量、函数和流程控制语句编写Transact-SQL程序,一、促成目标:1能正确理解和使用SQL Server变量2能正确理解和使用SQL Server 函数3会使用流程控制语句编写顺序结构、选择结构和循环结构的程序 二、工作任务通过使用Transact-SQL语句编程,实现公司管理数据库系统的操作。,模块1 编程获取某雇员的 工作业绩信息,一、教学目标1能正确理解Transact-SQL批处理2能正确理解和使用SQL Server变量3能正确理解和使用SQL Server 函数4会用Transact-SQL语句编程获取对用户有用的信息 二、

2、工作任务通过Transact-SQL编程,获取名为王孔若的姓名、性别、出生年月及雇佣日期等信息;然后输出王孔若所做订单的明细表、所做的订单数目及订单总金额。,(一)SQL Server 2000语法规则,服务器端的程序使用SQL语句来编写。一般而言,一个服务器端的程序是由以下一些成分组成:批、注释、变量、流程控制语句、错误和消息处理。,1Transact-SQL批量,批量是一条或多条SQL语句构成的,它被应用程序同时发送给SQL Server执行。批结束的符号是“GO”。 SQL Server从批中读取所有语句,并把它们编译成可执行的单元(执行计划),然后,SQL Server就一次执行计划中

3、的所有语句,所以可以节省系统开销。,2GO 命令,为了在Transact-SQL脚本中结束批量, SQL Server用到了关键字GO。GO关键字出现在一系列语句之后,使它们能作为一个单独的批量运行。,3续行,Transact-SQL语句很多情况下都写的很长。如果全部放在一行写,则不利于阅读与修改。可以将一条语句在多行中进行编写,Transact-SQL会忽略空格和行尾的换行符号。,4注释,注释语句由 “-”(双减号)或“/*”和“*/”表示。“-”(双减号):用于注释单行文本。“/*”和“*/”:用于注释多行文本,“/*”和“*/”一定要配套使用,否则将会出现错误。,5、 SELECT语句无

4、源查询,SELECT语句无源查询就是最简单的语句。SELECT 常量|变量|函数|表达式 as 别名,n所谓无源查询就是使用SELECT语句来查询不在表中的数据。无源查询实质上就是在客户机屏幕上显示出常量、变量或表达式的值。 【例1】使用SELECT语句查看常量。select 我是中国人,6、PRINT,功能:将用户定义的消息返回客户端。 语法:PRINT 字符串 | 变量 | 字符串的表达式 注意:只允许使用常量、表达式或变量。不允许使用列名。 【例2】使用 PRINT 语句有条件地返回消息。IF EXISTS ( SELECT 产品ID FROM P_order WHERE 产品ID=4)

5、 PRINT 产品ID为4有订单!,(二)SQL Server 2000变量,分类: 局部变量:由用户自己创建并赋值的,也只有 创建它的用户可以使用。 全局变量:是有那些由服务器声明的、通常由服务器赋值的变量。,1、局部变量,局部变量用DECLARE语句声明,只能用在声明该变量的过程实体中,即使用范围是定义它的批、存储过程和触发器等。由一个符号开始。定义:DECLARE 局部变量名 数据类型,n 赋值:SET 局部变量名=表达式,nselect 局部变量名=表达式,n 【例3】本模块声明了一个不超过8个字符的字符型变量name的语句为:DECLARE name varchar(8),【例4】将

6、王孔若赋给变量name的赋值语句。DECLARE name VARCHAR(10)SET name=王孔若PRINT 选民 + name【例5】将张立赋给变量name的赋值语句。DECLARE name VARCHAR(10)SELECT name=张立 PRINT 选民 + name,2、全局变量,全局变量:由SQL Server系统提供并赋值的变量,名字由符号开始。用户不能建立全局变量,也不可能使用SET语句去修改全局变量的值。通常应该将全局变量的值赋给在同一个批中的局部变量,以便保存和处理。全局变量分为两类: 与连接有关的全局变量,如:rowcount 影响的行数; 与系统内部信息有关的

7、全局变量。如version SQL的版本号。,SQL常用的全局变量表,【例6】使用SELECT语句查询局部变量。 declare a int, s varchar(9) set a=40 set s=欢迎您 select a, s【例7】使用SELECT语句查询全局变量。 select version as 版本 select language as 语言,(三)SQL Server 2000函数,在T-SQL 编程语言中函数可分系统定义函数和用户定义函数。本节介绍的是系统定义函数中最常用的数学函数、字符串函数、日期时间函数、聚合函数、系统函数、系统统计函数的最常用的部分。,1日期和时间函数,

8、对日期和时间输入值执行操作,返回一个字符串、数字或日期和时间值。,(1) GETDATE函数,功能:返回当前系统日期和服务器的时间。 语法:GETDATE() 【例8】输出当前日期:PRINT GETDATE() 其输出结果如下:07 12 2006 3:06AM,(2) DAY函数,功能:返回某日期的日部分所代表的整数值,该函数等价于DATEPART(dd,date)。 语法:DAY(date) 【例9】 输出指定日期的日期。PRINT DAY(08/30/1998) 其输出结果如下: 30,(3)MONTH函数,功能:返回某日期的月部分所代表的整数值。该函数等价于DATEPART(mm,d

9、ate)。 语法:MONTH (date) 【例10】 输出指定日期的月份。PRINT MONTH (08/30/2006) 其输出结果如下: 8,(4)YEAR函数,功能:返回某日期的年部分所代表的整数值。该函数等价于DATEPART(yy,date)。 语法:YEAR (date) 【例11】 输出指定日期的年份。PRINT YEAR (08/30/2006)其输出结果如下:2006,(5)DATEADD函数,功能:在某日期上加上一个时间间隔,从而获得一个新日期。 语法:DATEADD(datepart, number, date) 参数: Datepart:是指定应返回的日期部分的参数P

10、123 日期组成部分表,【例12】 获得指定时间后的新日期,PRINT DATEADD (DY, 35, 11/30/2007) 输出结果如下:01 4 2008 12:00AM注意:日期函数完成所有的字符串转换操作,并返回SQL Server标准日期格式的输出结果。所有这些日期函数都会自动执行该转换。,(6) DATEDIFF函数,功能:返回datepart指定的日期的差。 语法:DATEDIFF(datepart,date1,date2) 【例13】 计算两个日期之间相差的天数。 PRINT DATEDIFF(DY, 11/30/2007, 1/04/2008) 结果如下: 35,(7)

11、DATENAME函数,功能:返回日期的字符串表示。 语法:DATENAME (datepart, date) 【例14】指定日期是星期几:PRINT DATENAME (DW, 11/29/2007)输出结果如下:星期四即2007年11月29日是星期四,(8) DATEPART函数,功能:指定datepart的整数值(注意DATEPART函数与datepart参数不同)。 语法:DATEPART(datepart, date) 【例15】从日期中得到月份的数值表示:PRINT DATEPART(MM, 6/11/2006) 输出结果: 6,2.字符串函数,字符串函数对字符串输入值执行操作,返回

12、一个字符串或数字值。参考:P127 常用的字符串函数,常用的字符串函数,(1)LOWER函数,功能:将所有字母表中存在的字符转换为小写形式。所有在字母表中不存在的字符保持不变。 语法:LOWER(字符串)【例16】 PRINT LOWER (ABCDEF) 其输出结果如下: abcdef,(2)LTRIM函数功能:删除字符串中所有的前导空格。语法:LTRIM(字符串)(3)RTRIM函数功能:删除指定字符串末尾的所有后缀空格。语法:RTRIM(字符串),(4)REVERSE函数,功能:将字符串中的所有字符逆转。 语法:REVERSE(字符串) 【例17】 PRINT REVERSE(ABCDE

13、F) 其输出结果如下: FEDCBA,(5)STR函数,功能:将数值型数据转换为字符串型数据。 语法:STR(数值,总长度,小数位数)“数值”是将要转换成字符串型数据的数值型数据。 “总长度”可以用来指定字符串的总长度。 “小数位数”参数也是可选项,用来指定数值型数据小数部分的位数(默认值为10)。,3.数据类型转换函数,将数据从一种数据类型转换为另一种数据类型的工作通常由SQL Server自动完成。如果要进行显示转换数据类型,需要使用两种函数:CAST()或者CONVERT()函数。,(1)CAST,功能:将某种数据类型的表达式显式转换为另一种数据类型。 语法CAST ( 表达式 AS 数

14、据类型 ) 【例18】将 int 列(“库存量 ” 列)转换为varchar(20) 列,以便使用 LIKE 子句。SELECT 产品名, 单价, 库存量 FROM product WHERE CAST( 库存量 AS varchar(20) LIKE 1_,(2)CONVERT,功能:将某种数据类型的表达式显式转换为另一种数据类型。 语法:CONVERT (目的数据类型, 要转化的表达式,日期样式)【例19】print convert(char(2),month(getdate(),工作任务,通过Transact-SQL编程,获取名为“王孔若”的姓名、性别、出生年月及雇佣日期等信息;然后输出

15、王孔若所做订单的明细表、所做的订单数目及订单总金额。程序代码,模块2 编程实现订购订单,一、教学目标能正确理解Transact-SQL中的流程控制语句,包括判断语句、循环语句,标签、RETURN语句以及GOTO语句。,工作任务,雇员王孔若签订了一条供应给鹿城中学50个优盘的订单,编程实现将订单涉及到的相关信息写入到数据库中。,流程控制语句,流程控制语句是指那些用来控制程序执行和流程分支的命令,在SQL Server 2000中,流程控制语句主要用来控制SQL语句、语句块或者存储过程的执行流程。,(一) BEGIN.END,功能:对用来将多行SQL语句组织在一起,以达到一起执行的目的。语法:BE

16、GINSQL语句组END注意:必须包含在一个单独的批处理中。,(二) IF.ELSE语句,语法格式:IF ELSE注意:使用select语句作为这个条件表达式时,必须用圆括号将select语句括起来。,【例20】编程判断在P_order订单表中是否存在 “订货日期”在2007年5月7号以后的订单,分别打印相关信息。 程序清单1: IF (SELECT count(*) FROM P_order WHERE 订货日期 2007-05-07) 0PRINT 存在2007年5月7号以后的订单 ELSEPRINT 不存在2007年5月7号以后的订单 程序清单2: IF exists (SELECT * FROM P_order WHERE 订货日期 2007-05-07) PRINT 存在2007年5月7号以后的订单 ELSEPRINT 不存在2007年5月7号以后的订单,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号