数据库高级SQl 相关 技术.ppt

数据库高级SQl 相关 技术.ppt

ID:50999654

大小:187.50 KB

页数:73页

时间:2020-03-17

数据库高级SQl 相关 技术.ppt_第1页
数据库高级SQl 相关 技术.ppt_第2页
数据库高级SQl 相关 技术.ppt_第3页
数据库高级SQl 相关 技术.ppt_第4页
数据库高级SQl 相关 技术.ppt_第5页
资源描述:

《数据库高级SQl 相关 技术.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第6章高级SQL相关技术6.1SQL编程基础6.2事务6.3游标6.4存储过程6.5触发器6.6嵌入式SQLSample库中几张表字段名类型及长度完整性约束客户编号Int主码公司名称Varchar(50)联系人Varchar(10)联系方式Varchar(50)表6.1客户数据表几张表表6.2员工数据表字段名类型及长度完整性约束员工编号Int主码姓名Varchar(8)所属部门Varchar(8)职位Varchar(10)工资Decimal(8,2)几张表表6.3项目数据表字段名类型及长度完整性约束项目编号Int主码项目名称

2、Varchar(8)客户编号int负责人编号int开始日期datetime终止日期datetime经费(万元)Decimal(8,2)6.1SQL编程基础T-SQL是针对数据库的查询语言,它的编程结构比其他程序设计语言更为简单一、批处理批处理是一组T-SQL语句的集合,可以是一条语句,也可以由多条语句组成。批处理语句以GO为结束标志。GO只是个标志语句,并不被执行。在T-SQL存储过程调用时,如果调用语句不是一段批语句的第一句,则调用前需要加EXEC;创建表和创建视图的语句只能存在于一个单独的批处理语句中二、变量变量是T-S

3、QL用来在其语句间传递数据的。由系统或用户定义并赋值。1、全局变量全局变量往往用来记录数据库的活动状态。用“@@变量名”表示几个常用的全局变量@@ERROR——返回上一条T-SQL语句执行后的状态值。如果为0表示语句执行正确,非0表示发生错误。@@FETCH_STATUS——返回被FETCH语句执行的最后游标状态,如果为0表示FETCH执行成功,非0表示发生错误。@@ROWCOUNT——返回上一条T-SQL语句影响到的记录个数。2、局部变量用“@变量名”表示。声明局部变量使用DECLARE语句,后面跟上变量名和变量数据类型。

4、局部变量赋值可以使用SELECT语句或SET语句例6.1USESAMPLEGODECLARE@MycharVARCHAR(10),@Max_SalaryDecimal(7,2)SET@Mychar=‘最高工资’SELECT@Max_Salary=MAX(工资)FROM员工数据表3、函数常用的函数有系统函数、日期函数、字符串函数、数学函数以及用户自定义函数等4、程序流程控制BEGIN……END。用于将多条语句组合起来IF……ELSE。用于条件的测试WHILE。当循环逻辑表达式结果为真时,重复执行后面的语句或语句块CASE。可以

5、使用户方便地实现多重选择RETURN。用于无条件终止查询、存储过程或批处理。例6.2检索员工数据表,如果存在工资大于5000元的员工,则输出这些员工的姓名;否则输出消息,说明没有员工工资在5000以上。USESAMPLEGODECLARE@MessageVARCHAR(100)IF(SELECTMAX(工资)FROM员工数据表)>5000BEGINSET@Message=‘下列人员的工资超过5000:’PRINT@MessageSELECT员工姓名,工资FROM员工数据表WHERE工资>5000ENDELSEBEGINSET

6、@Message=‘没有工资超过5000的员工。’PRINT@MessageENDGO例6.3员工发放的奖金是工资数额的30%,判断是否有员工奖金少于300,如果有,则将所有员工的工资增加500,直到所有员都多于300或有员工的工资超过了10000。USESAMPLEGOWHILE(SELECT*FROM员工数据表WHERE工资*0.3<300)BEGINUPDATE员工数据表SET工资=工资+500IF(SELECTMAX(工资)FROM员工数据表)>10000BREAKENDGO例6.4分别输出员工姓名和所在的部门,并在

7、部门后面添加说明。USESAMPLEGOSELECT姓名,“部门说明”=/*分别为个部门添加说明*/CASE所属部门WHEN‘办公室’THEN‘在办公室工作,该部门主要负责各部门的办公事务。’WHEN‘项目部’THEN‘在项目部工作,该部门主要负责工程项目事务。’WHEN‘生产部’THEN‘在生产部工作,该部门主要负责生产事务。’WHEN‘检验处’THEN‘在检验处工作,该部门主要负责产品检验事务。’ENDFROM员工数据表GO6.2事务一、什么是事务二、如何定义事务三、事务的特性一、什么是事务事务(Transaction)

8、是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位事务和程序是两个概念在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序一个应用程序通常包含多个事务事务是恢复和并发控制的基本单位二、如何定义事务显式定义方式BEGINTRANSACTI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。