Sql server表变量

本文介绍了SQL Server中的表变量,包括其定义、使用示例、优点和限制。表变量作为临时存储数据的手段,适用于存储过程,可替代游标和临时表。然而,表变量在内存中存储,不支持索引,且不适用于大型数据集。适当选择使用表变量或临时表,可以提高SQL Server的执行效率。
摘要由CSDN通过智能技术生成

SQL Server表变量

i.                       什么是表变量

表变量是一种特殊的数据类型,用于存储结果集以进行后续处理。表变量主要用于临时存储一组行,这些行是作为表值函数的结果集返回的。可将函数和变量声明为 table 类型。table 变量可用于函数、存储过程和批处理中。表变量类似于临时表,只是它在内存中存储,而临时表则在磁盘中存储。常常可以用表变量代替游标或者临时表,提高执行效率。

ii.                       表变量的例子

l  Hello world例子:

 

1     declare @userName varchar(100)

2     declare @targettable table

3     (

Num int,

userName varchar(100)

4     )

5     insert into @targettable values(1,'Hello  world')

6     select *  from  @targettable

 

l  表变量代替游标的复杂一点例子(电销系统中的例子):

 

1   set ANSI_NULLS ON

2   set QUOTED_IDENTIFIER ON

3   go

4   --declareglobal table variable

5   ALTER PROC [dbo].[TargetAssignOpt]

6   @whereClause NVARCHAR(2000),

7   @taskSerialNo INT,

8   @csrName NVARCHAR(50),

9   @csrAssignCountINT,

10  @loginUserID NVARCHAR(50),

11  @AssignBatchNoINT

12  --@AssignCountint output

13  AS

14  BEGIN

15  --declarelocal variables

16   DECLARE @cphonevarchar(50),

17           @ephase int,

18           @luserid varchar(50),

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值