78ee000e编程应用 【例7-1】数据库MyDb中 readers表中的编号及姓名两列内容如 ,执行下面脚本。 USE MyDb DECLARE @varl varchar (8) 声明局部变量 SELECT@var1=’读者姓名 为局部变量赋初值 SELECT@varl=姓名 FROM readers WHERE编号=2004160426 SELECT@ varl as读者姓名 显示局部变量结果 执行结果为: 读者姓名 刘超 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 【例7-1】 数据库MyDb中readers表中的编号及姓名两列内容如 下,执行下面脚本。 USE MyDb DECLARE @varl varchar(8) --声明局部变量 SELECT @var1='读者姓名' --为局部变量赋初值 SELECT @varl=姓名 FROM readers WHERE 编号='2004160426' SELECT @varl AS ‘读者姓名’ --显示局部变量结果 执行结果为: 读者姓名 --------------- 刘超
78ee000e编程应用 【例7-2】多个返回值的赋值 USE MyDb DECLARE @varl varchar ( 8) SELECT@var1=读者姓名 SELECT@var1=姓名 FROM readers Select@ varl as’读者姓名’ 执行结果为: 读者姓名 返回最后一名读者的姓名 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 【例7-2】 多个返回值的赋值。 USE MyDb DECLARE @varl varchar(8) SELECT @varl='读者姓名' SELECT @varl = 姓名 FROM readers Select @varl AS '读者姓名' 执行结果为: 读者姓名 ------------------------------------- 返回最后一名读者的姓名
78ee000e编程应用 用SET为局部变量赋值 用SET为局部变量赋值的常用语法格式为: Set @local variable= expression 【例7-3】使用SET命令赋值的变量。 USE MyDb GO DECLARE @no varchar(10 SET@no=2004060003 SELECT编号,姓名 FROM readers WHERE编号=@no GO 执行结果为: 编号 姓名 2004060003李亚茜 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 ▪ 用SET为局部变量赋值 用SET为局部变量赋值的常用语法格式为: SET @local_variable= expression 【例7-3】使用SET命令赋值的变量。 USE MyDb GO DECLARE @no varchar(10) SET @no='2004060003' SELECT 编号,姓名 FROM readers WHERE 编号= @no GO 执行结果为: 编号 姓名 ---------- ------------- 2004060003 李亚茜
78ee000e编程应用 ◆全局变量 全局变量是由 SQL Server系统提供并赋值的变量。用户不能建 立全局变量,也不能修改全局变量的值 在使用全局变量时请注意以下规则: ■全局变量是在服务器级定义的,不是由用户例程定义的。 用户只能使用系统预定义的全局变量。 ■引用全局变量时,前面一定加上@@标记 用户不能定义与系统全局变量同名的局部变量,否则将产生不 可预测的结果 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 ❖ 全局变量 全局变量是由SQL Server系统提供并赋值的变量。用户不能建 立全局变量,也不能修改全局变量的值。 在使用全局变量时请注意以下规则: ▪ 全局变量是在服务器级定义的,不是由用户例程定义的。 ▪ 用户只能使用系统预定义的全局变量。 ▪ 引用全局变量时,前面一定加上@@标记。 ▪ 用户不能定义与系统全局变量同名的局部变量,否则将产生不 可预测的结果
78ee000e编程应用 例如,@ROwC0UNT,是返回最近一次数据库操作所涉及到的行数 【例7-4】使用全局变量@@ ROW COUNT,查询命令影响的行数 UPDATE ReaderS set已借数量=2 SELECT@@ ROWCOUNt AS行数 GO 执行结果为 行数 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 例如,@@ROWCOUNT,是返回最近一次数据库操作所涉及到的行数。 【例7-4】使用全局变量@@ROWCOUNT,查询命令影响的行数。 UPDATE Readers SET 已借数量=2 SELECT @@ROWCOUNT AS 行数 GO 执行结果为 行数 5