黑马程序员 Tansact——sql变量

原创 2013年12月04日 14:04:52
---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------



Transact-SQL 局部变量是可以保存单个特定类型数据值的对象。批处理和脚本中的变量通常用于: 


作为计数器计算循环执行的次数或控制循环执行的次数。




保存数据值以供控制流语句测试。




保存存储过程返回代码要返回的数据值或函数返回值。




声明 Transact-SQL 变量
DECLARE 语句通过以下操作初始化 Transact-SQL 变量: 


指定名称。名称的第一个字符必须为一个 @。




指定系统提供的或用户定义的数据类型和长度。对于数值变量还指定精度和小数位数。对于 XML 类型的变量,可以指定一个可选的架构集合。




将值设置为 NULL。


例如,下面的 DECLARE 语句使用 int 数据类型创建名为 @mycounter 的局部变量。
 
DECLARE @MyCounter int;
 
若要声明多个局部变量,请在定义的第一个局部变量后使用一个逗号,然后指定下一个局部变量名称和数据类型。


例如,此 DECLARE 语句创建了三个名为 @LastName、@FirstName 和 @StateProvince 的局部变量,并将每个变量都初始化为 NULL:


DECLARE @LastName nvarchar(30), @FirstName nvarchar(20), @StateProvince nchar(2);
 
变量的作用域就是可以引用该变量的 Transact-SQL 语句的范围。变量的作用域从声明变量的地方开始到声明变量的批处理或存储过程的结尾。例如,下面的脚本存在语法错误,因为在一个批处理中引用了在另一个批处理中声明的变量:


USE AdventureWorks;
GO
DECLARE @MyVariable int;
SET @MyVariable = 1;
-- Terminate the batch by using the GO keyword.
GO 
-- @MyVariable has gone out of scope and no longer exists.


-- This SELECT statement generates a syntax error because it is
-- no longer legal to reference @MyVariable.
SELECT EmployeeID, NationalIDNumber, Title
FROM HumanResources.Employee
WHERE EmployeeID = @MyVariable;


变量具有局部作用域,只在定义它们的批处理或过程中可见。在下面的示例中,为执行 sp_executesql 创建的嵌套作用域不能访问在更高作用域中声明的变量,从而返回错误。


DECLARE @MyVariable int;
SET @MyVariable = 1;
EXECUTE sp_executesql N'SELECT @MyVariable'; -- this produces an error
 


 

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net

黑马程序员-------SQLServer数据库基础知识

---------------------- http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发、 http://edu.csdn.net...
  • guoguo_19900310
  • guoguo_19900310
  • 2014年01月12日 14:37
  • 1121

黑马程序员骗局

最近看到网上的一篇帖子:“传智播客旗下黑马程序员就业骗局,企业封杀遇到了骗子培训” 。    黑马程序员面对诋毁,诽谤,真的想置之不理,让谣言自生自灭。看看那篇帖子的发布时间大概在2013年或者2...
  • itcast_cn
  • itcast_cn
  • 2016年09月05日 15:22
  • 3338

黑马程序员--Spring框架方方面面之…

--------
  • li951418089
  • li951418089
  • 2015年12月24日 10:25
  • 612

黑马程序员-java就业面试题大全(持续更新)

1、一个"java"源文件中是否可以包含多个类()?
  • zj3911507
  • zj3911507
  • 2014年06月20日 16:32
  • 1944

黑马程序员--Oracle学习_day06

----------  android培训 、java培训、期待与您交流! ---------- 学习目标:1,理解oracle的pl/sql的概念   2,掌握pl/sql编程技术(...
  • xpaibeyond
  • xpaibeyond
  • 2015年01月16日 14:28
  • 220

黑马程序员:Hibernate基础知识

android培训、java培训
  • u012159707
  • u012159707
  • 2013年09月26日 15:42
  • 609

黑马程序员——网络爬虫

------- android培训、java培训、期待与您交流! ----------
  • yonggandeyangguang
  • yonggandeyangguang
  • 2014年09月24日 12:14
  • 253

传智播客黑马程序员28期JavaEE基础及就业班视频教程

日期 课程(空内容代表放假) 2016/5/23 星期一 开学典礼()     2016/5/24 星期二 HTML实战...
  • qq_38472018
  • qq_38472018
  • 2017年04月29日 11:59
  • 348

黑马程序员前端培训深圳首期班火爆开班

黑马程序员在北京开设前端学科以来,其火爆程度远远超出了预期。面对市场的强烈需求,黑马程序员前端学院历时三年研发的大前端课程火爆登陆深圳,受到广大学员的热烈追捧,于2016年8月8日正式在深圳校区开班,...
  • itcast_cn
  • itcast_cn
  • 2016年08月12日 11:16
  • 2132

黑马程序员—马上快毕业了,给你们点建议吧

文章来源:黑马程序员,黑马论坛 首先就是基础重要不重要,这个不好做定论,因为看你需要掌握的程度,黑马这边的课程需要基础在视频里都有,老毕的25天和张老师的高新技术,这些全部会用到,把这些全看熟了,并...
  • heima_28
  • heima_28
  • 2014年08月26日 15:13
  • 711
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员 Tansact——sql变量
举报原因:
原因补充:

(最多只允许输入30个字)