第八章 TSQL语言课件.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 TSQL语言课件

An Introduction to Database Systems;本章内容;8.1 数据与表达式;1.常量;(3)数值常量;(4)逻辑数据常量 逻辑数据常量使用数字0或1表示,并且不使用引号。非0的数字当作1处理。 (5)空值 在数据列定义之后,还需确定该列是否允许空值(NULL)。允许空值意味着用户在向表中插入数据时可以忽略该列值。空值可以表示整型、实型、字符型数据。;变量用于临时存放数据,变量中的数据随着程序的运行而变化,变量有名字与数据类型两个属性。 ;硝铱胖拎棉成老虞液彪镁答硼尾骄公敦段氖蚕精局鉴纸算慢丑峦悉镶懈蒋第八章 TSQL语言课件第八章 TSQL语言课件;傈喉既慈赣谅钟内犹嫩液凹粹宋擅霜尾读十赘扦险莲墓牟欣湾辑铸疼蛙巷第八章 TSQL语言课件第八章 TSQL语言课件;(2)局部变量;局部变量的赋值 ;例9-1 使用SELECT语句从读者表中检索出顾客编号为“101”的行,再将读者的名字赋给变量@reader。;② 用SET给局部变量赋值;8.2 函 数;8.2.1 常用函数;SQL Server 2000 提供的常用函数;1.字符串函数:实现对字符型数据的转换、查找、分析等操作;1. 字符串函数;2 数学函数;2 数学函数;3 日期函数;3 日期函数;4 类型转换函数;5 系统函数;8.2.2 用户自定义函数;1 标量函数的创建与执行;【例2】创建名为 Fn_Count 的自定义函数,用于计算指定编号的读者所借图书的册数。 --创建函数 CREATE FUNCTION Fn_Count (@readerno CHAR(10)) RETURNS INT AS BEGIN DECLARE @booknumber INT SELECT @booknumber=COUNT(readerno) FROM Borrow GROUP BY ReaderNo HAVING ReaderNo=@readerno RETURN (@booknumber) END ;2 内嵌表值函数的创建与执行;【例3】在图书管理系统数据库创建名为 Fn_Book 的自定义函数,返回指定编号的读者所借图书的名称和还书日期。;3 多语句表值函数的创建与执行;【例4】在图书管理系统数据库中创建名为 Fn_Reader的自定义函数,根据指定的图书名称,返回一个数据表,数据表的内容为借阅该图书的读者信息。 CREATE FUNCTION Fn_Reader (@bookname varchar(80)) RETURNS @Fn_Reader TABLE (读者编号 char(10) PRIMARY KEY NOT NULL, 读者姓名 varchar(20) NOT NULL, 图书编号 char(10) NOT NULL, 图书名称 varchar(80) NOT NULL, 还书日期 datetime NOT NULL ) AS BEGIN INSERT @Fn_Reader SELECT R.ReaderNo, ReaderName, Bk.BookNo, BookName, RetDate FROM Reader R INNER JOIN Borrow Bw ON R.ReaderNo=Bw.ReaderNo INNER JOIN Book Bk ON Bk.BookNo=Bw.BookNo WHERE Bk.BookName=@bookname RETURN END;SELECT * FROM dbo.Fn_Reader(数字电子技术);4 修改和删除用户自定义函数;8.3 程序控制流语句;8.3.1 语句块;【例5】在pubs库的titles表中,统计价格低于20元的图书册数,如果大于0就显示所有价格低于20元且title_id的前两个字符为BU的书籍列表。否则,输出价格高于20元的所有书的列表。 USE pubs GO DECLARE @msg varchar(255) IF (SELECT COUNT(price) FROM titles WHERE price 20) 0 BEGIN SET @msg = 以下书籍的价格低于$20: PRINT @msg SELECT title FROM titles WHERE title_id LIKE BU% AND price 20 END ELSE BEGIN SET @msg = 没有价格低于$20的书籍。 PRINT @msg SELECT title FROM titles WHERE price=

文档评论(0)

baa89089 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档