7.1.1常量 (4) decima常量 decimal常量由正、负号、小数点、数字0~9组成,正号可以省略。例如: 91.3、-2147483648.10。 (5)foat和rea常量 foat和rea常量使用科学记数法表示。例如:101.5E5、0.5E-2。 (6)货币常量 货币常量是以可选货币符号($)作为前缀,并可以带正、负号和小数点的 串数字,用来表示正的或负的货币值。 SQL Server提供两种数据类型, 即 money和 smallmoney来存储货币数据,存储的精确度为4位小数。例 如$20、$45、-$35、$0.22等。 (7) uniqueidentifier常量 uniqueidentifier常量表示全局唯一标识符值的字符串。可以使用字符或二进 制字符串格式指定。例如,以下这两个示例指定相同的GUD。例如: 6F9619FF-8B86-D011-B42D00c04FC964FF 0xf19966f868b11d0b42d00c04fc964f
7.1.1 常量 (4)decimal常量 decimal常量由正、负号、小数点、数字0~9组成,正号可以省略。例如: 91.3、-2147483648.10。 (5)float和real常量 float和real常量使用科学记数法表示。例如:101.5E5、0.5E-2。 (6)货币常量 货币常量是以可选货币符号($)作为前缀,并可以带正、负号和小数点的 一串数字,用来表示正的或负的货币值。SQL Server提供两种数据类型, 即money和smallmoney来存储货币数据,存储的精确度为4位小数。例 如$20、$45、-$35、$0.22等。 (7)uniqueidentifier常量 uniqueidentifier常量表示全局唯一标识符值的字符串。可以使用字符或二进 制字符串格式指定。例如,以下这两个示例指定相同的GUID。例如: '6F9619FF-8B86-D011-B42D-00C04FC964FF'、 0xff19966f868b11d0b42d00c04fc964ff
7.12变量 变量是指在程序运行过程中其值可以变化的量, 包括变量名和变量值两部分。变量名是对变量 的命名,变量值是对变量的赋值。 Transact- SQL中变量有两种:全局变量和局部变量 1.全局变量 全局变量:是 SQL Server2000系统定义并自动 赋值的变量,其作用范围是所有程序,主要用 来记录 SQL Server服务器的活动状态 用户可以引用全局变量但不能改变它的值,全局 变量必须以“@@”开头。 SQL Server2000提 供了30多个全局变量,如表7-1所示:
7.1.2 变量 变量是指在程序运行过程中其值可以变化的量, 包括变量名和变量值两部分。变量名是对变量 的命名,变量值是对变量的赋值。TransactSQL中变量有两种:全局变量和局部变量。 1.全局变量 全局变量:是SQL Server 2000系统定义并自动 赋值的变量,其作用范围是所有程序,主要用 来记录SQL Server服务器的活动状态。 用户可以引用全局变量但不能改变它的值,全局 变量必须以“@@”开头。SQL Server 2000提 供了30多个全局变量,如表7-1所示:
7.12变量 全局变量名功能 @@ connections返回连接或企图连接到 SQL Server(最近一次启动以来) 的连接次数 @@ cpu busy返回自 SQL Server最近一次启动以来,CPU的工作时间总量, 单位为毫秒 @@ cursor rows返回当前打开的最后一个游标中还未被读取的有效数据行 的行数 @@ datefirst返回一个星期中的第一天, set datefirst命令设置 datafirst 参数值,取值17 @@dbts 返回当前数据库的时间戳值,数据库中时间戳值必须是惟 @@error 返回最近一次执行 Transact-SQL语句的错误代码号,0表示 成功 @@ fetch status返回最近一次执行 fetch语句的游标状态值 @@ Identity返回最近一次插入行的 identity(标识列)列值 @@ide返回 SQL Server处于空闭状态的时间总量,单位为毫秒
7.1.2 变量 全局变量名 功能 @@connections 返回连接或企图连接到SQL Server(最近一次启动以来) 的连接次数 @@cpu_busy 返回自SQL Server最近一次启动以来,CPU的工作时间总量, 单位为毫秒 @@cursor_rows 返回当前打开的最后一个游标中还未被读取的有效数据行 的行数 @@datefirst 返回一个星期中的第一天,set datefirst命令设置datafirst 参数值,取值1~7 @@dbts 返回当前数据库的时间戳值,数据库中时间戳值必须是惟 一的 @@error 返回最近一次执行Transact-SQL语句的错误代码号,0表示 成功 @@fetch_status 返回最近一次执行fetch 语句的游标状态值 @@identity 返回最近一次插入行的identity(标识列)列值 @@idle 返回SQL Server处于空闭状态的时间总量,单位为毫秒 @@io_busy 返回SQL Server执行输入输出操作所花费的时间总量,单
7.12变量 2.局部变量 局部变量:用户自定义的变量,其作用范围是声明它的批处理、存储过 程或触发器等程序内部,一般用来存储从表中查询到的数据,或作 为程序执行过程中暂存变量。局部变量必须以“@”开头,且必须先 用 declare命令声明后才可使用。声明局部变量的语法格式如下: 格式: declare@局部变量名as]数据类型}[,,n] 说明 (1)局部变量名必须符合标识符命名规则; (2)数据类型可以是系统数据类型,也可以是用户自定义数据类型 但不能定义为text,ntex或 Image数据类型。如有需要,还需指定数 据宽度及小数精度; (3)声明多个局部变量名时,各变量名之间用逗号隔开; (4)局部变量声明后,系统自动初始化赋值为nu‖,局部变量声明时不 能同时赋值; (5)给局部变量赋值要用赋值语句,赋值语句有两种:set语句和 select语句
7.1.2 变量 2.局部变量 局部变量:用户自定义的变量,其作用范围是声明它的批处理、存储过 程或触发器等程序内部,一般用来存储从表中查询到的数据,或作 为程序执行过程中暂存变量。局部变量必须以“@”开头,且必须先 用declare命令声明后才可使用。声明局部变量的语法格式如下: 格式:declare {@局部变量名 [as] 数据类型} [,…n] 说明: (1)局部变量名必须符合标识符命名规则; (2)数据类型可以是系统数据类型,也可以是用户自定义数据类型, 但不能定义为text,ntext或image数据类型。如有需要,还需指定数 据宽度及小数精度; (3)声明多个局部变量名时,各变量名之间用逗号隔开; (4)局部变量声明后,系统自动初始化赋值为null,局部变量声明时不 能同时赋值; (5)给局部变量赋值要用赋值语句,赋值语句有两种:set语句和 select语句
7.12变量 set语句 格式:set{≤@局部变量名>三<表达式>} 说明:将“表达式”的值赋给“@局部变量名”指 定的局部变量,一条语句只能给一个变量赋值 【例7-1】计算两数之和。 declare @sum int, @a as int, @b as int set @a=10 set @b=90 set @sum=@a+@b print @sum
7.1.2 变量 Set语句 格式:set {<@局部变量名>=<表达式>} 说明:将“表达式”的值赋给“@局部变量名”指 定的局部变量,一条语句只能给一个变量赋值。 【例7-1】 计算两数之和。 declare @sum int,@a as int,@b as int set @a=10 set @b=90 set @sum=@a+@b print @sum