- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]附加第8章 T-SQL 编程
第8章 T-SQL编程 目标 掌握如何定义变量并赋值 掌握如何输出显示数据 掌握IF、WHILE、CASE逻辑控制语句 理解SQL中批处理的概念 使用变量 局部变量 全局变量 SQL Server中的函数 字符串函数 日期函数 数学函数 系统函数 案例分析1—要求 某公司印了一批充值卡,卡的密码是随机生成的,现在出现这个问题: 卡里面的“O和0”(哦和零)“i和1”(哎和一),用户反映说看不清楚,公司决定,把存储在数据库中的密码中所有的“哦”都改成“零”,把所有的“i”都改成“1”; 请编写SQL语句实现以上要求; 数据库表名:Card;密码字段名:PassWord; 案例分析1—分析 这是更新语句,需要使用UPDATE语句; 因为牵涉到字符串的替换,需要使用到SQL Server中的函数Replace; 案例分析2—要求 在数据库表中有以下字符数据,如: 13-1、13-2、13-3、13-10、13-100、13-108、13-18、13-11、13-15、14-1、14-2 现在希望通过SQL语句进行排序,并且首先要按照前半部分的数字进行排序,然后再按照后半部分的数字进行排需,输出要排成这样: 13-1、13-2、13-3、13-10、13-11、13-15、13-18、13-100、13-108、14-1、14-2 数据库表名:SellRecord;字段名:ListNumber; 案例分析2—分析 这是查询语句,需要使用SELECT语句 需要使用到ORDER BY进行排序,并且在ORDER BY的排序列中,也需要重新计算出排序的数字来 前半部分的数字,可以从先找到“-”符号的位置,然后,取其左半部分,最后再使用Convert函数将其转换为数字: Convert(int, Left(ListNumber, CharIndex(-, ListNumber)-1)) 后半部分的数字,可以先找到“-”符号的位置,然后把从第一个位置到该位置的全部字符替换为空格,最后再使用Convert函数将其转换为数字: Convert(int, Stuff(ListNumber,1, Charindex(-, ListNumber), )) 用户自定义函数 标量函数:返回单个数据值。 表值函数:返回值是一个记录集合——表。在此函数中,return语句包含一条单独的select语句。 多语句表值函数:返回值是由选择的结果构成的记录集。 1. 使用CREATE FUNCTION语句创建用户自定义函数 使用CREATE FUNCTION创建用户自定义函数,其语法格式如下: CREATE FUNCTION [ owner_name.] function_name ( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] ) RETURNS scalar_return_data_type [ AS ] BEGIN function_body RETURN scalar_expression END function_name:指用户自定义函数的名称。其名称必须符合标识符的命名规则,并且对其所有者来说,该名称在数据库中必须唯一。 @parameter_name:用户自定义函数的参数,其可以是一个或多个。每个函数的参数仅用于该函数本身;相同的参数名称可以用在其它函数中。参数只能代替常量;而不能用于代替表名、列名或其它数据库对象的名称。函数执行时每个已声明参数的值必须由用户指定,除非该参数的默认值已经定义。如果函数的参数有默认值,在调用该函数时必须指定default关键字才能获得默认值。 scalar_parameter_data_type:参数的数据类型。 scalar_return_data_type:是用户定义函数的返回值。可以是 SQL Server 支持的任何标量数据类型(text、ntext、image 和 timestamp 除外)。 function_body:位于begin和end之间的一系列 Transact-SQL 语句,其只用于标量函数和多语句表值函数。 scalar_expression:用户自定义函数中返回值的表达式。 2.表值函数 表值函数遵循的原则: RETURNS子句仅包含关键字table。不必定义返回变量的格式,因为它
文档评论(0)