- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 Transact-SQL程序设计new.ppt
第9章 Transact-SQL程序设计 本章内容 9.1 数据与表达式 9.2 函 数 9.3 程序控制流语句 9.4 游标管理与应用 9.5 事务 9.6 SQL server锁机制 9.7 存储过程 9.8 触发器 9.1 数据与表达式 9.1.1 用户定义数据类型 9.1.2 常量与变量 9.1.3 运算符与表达式 9.1.1 用户定义数据类型 使用系统存储过程sp_addtype来创建用户定义数据类型 1.常量 1 字符串和二进制常量 字符串常量括在单引号内并包含字母数字字符 a-z、A-Z 和 0-9 以及特殊字符,如感叹号 ! 、at 符 @ 和数字号 # 。 二进制常量具有前辍0x并且是十六进制数字字符串,它们不使用引号。例如0xAE、0x12Ef、0x69048AEFDD010E为二进制常量。 2 日期/时间常量 datetime常量使用特定格式的字符日期值表示,用单引号括起来。 输入时,可以使用“/”、“.”、“-”作日期/时间常量的分隔符。 3 数值常量 ①整型常量由没有用引号括起来且不含小数点的一串数字表示。例如,1894、2为整型常量。 ②浮点常量主要采用科学记数法表示,例如,101.5E5、0.5E-2为浮点常量。 ③精确数值常量由没有用引号括起来且包含小数点的一串数字表示。例如,1894.1204、2.0为精确数值常量。 ④货币常量是以“$”为前缀的一个整型或实型常量数据,不使用引号。例如,$12.5、$542023.14为货币常量。 4 逻辑数据常量 逻辑数据常量使用数字0或1表示,并且不使用引号。非0的数字当作1处理。 5 空值 NULL 2.变量 变量的命名使用常规标识符,即以字母、下划线 _ 、at符号 @ 、数字符号 # 开头,后续字母、数字、at符号、美元符号 $ 、下划线的字符序列。 全局变量和局部变量 全局变量由系统定义并维护,通过在名称前面加“@@”符号 局部变量的首字母为单个“@”。 1 局部变量 局部变量使用DECLARE语句定义 变量名最大长度为30个字符。一条DECLARE语句可以定义多个变量,各变量之间使用逗号隔开。 例如 DECLARE @name varchar 30 ,@type int 局部变量的赋值 ①用SELECT为局部变量赋值 例如 DECLARE @int_var int SELECT @int_var 12 /*给@int_var赋值*/ SELECT @int_var /*将@int_var的值输出到屏幕上*/ 在一条语句中可以同时对几个变量进行赋值 例如 DECLARE @LastName char 8 ,@Firstname char 8 ,@BirthDate datetime SELECT @LastName Smith,@Firstname David,@BirthDate 1985-2-20 SELECT @LastName,@Firstname,@BirthDate 局部变量没有被赋值前,其值是NULL,若要在程序中引用它,必须先赋值。 例9-1 使用SELECT语句从customer表中检索出顾客编号为“C0002”的行,再将顾客的名字赋给变量@customer。 DECLARE @customer varchar 40 ,@curdate datetime SELECT @customer customer_name,@curdate getdate FROM customer WHERE customer_id C0002 ②利用UPDATE为局部变量赋值 例9-2 将sell_order表中的transporter_id列值为“T001”、goods_id列值为“G00003”的order_num列的值赋给局部变量@order_num。 DECLARE @order_num float UPDATE sell_order SET @order_num order_num*2 WHERE transporter_id T001 AND goods_id G00003 ③ 用SET给局部变量赋值 使用SET初始化变量的方法与SELECT语句相同,但一个SET语句只能为一个变量赋值。 例9-3 计算employee表的记录数并赋值给局部变量@rows。 DECLARE @rows int SET @rows SELECT COUNT * FROM employee SELECT @rows 2 全局变量 全局变量通常被服务器用来跟踪服务器范围和特定会话期间的信息,不能显式地被赋值或声明。 全局变量不能由用户定义,也不能被应用程序用来在处理器之间交叉传递信息。
原创力文档


文档评论(0)