码迷,mamicode.com
首页 > 数据库 > 详细

Sqlserver 实际开发中表变量的用法

时间:2017-04-26 22:24:06      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:tmp   写法   arch   category   des   集合   gets   png   临时表   

在实际的开发中,我们可能遇到的问题是,在一个存储过程里面,我们可能要返回多段sql的结果集,但是最终怎么把多个结果集合成一块呢,那么这个时候临时表变量就来了

技术分享

declare  @tmp table   --声明表变量
(
id int identity(1,1),    --字段 必须和插入表变量里的数量一一对应
Name varchar(60),
[Description] varchar(60),
Category varchar(60)
)
insert @tmp
     select Book.Name,Book.[Description],Book.Category from Book
select * from  @tmp

这是正常的sql写法,注意的是: select 到from中间的字段一定要和表变量里的字段一样,顺序,数量一一对应

下面是存储过程的写法:

技术分享

create  proc P_getSelect
as
begin
declare  @tmp table  --声明表变量
(
id int identity(1,1),
Name varchar(60),
[Description] varchar(60),
Category varchar(60)
)
insert @tmp
     select Book.Name,Book.[Description],Book.Category from Book

declare  @tmp2 table
(
id int identity(1,1),
Name varchar(60),
[Description] varchar(60),
Category varchar(60)
)
insert @tmp2     --声明表变量2   这里为了方便  我把一个表的数据分别放到两个表变量里了
     select Book.Name,Book.[Description],Book.Category from Book
     select t.*,tt.* from @tmp t ,@tmp2 tt

end

exec P_getSelect

 

Sqlserver 实际开发中表变量的用法

标签:tmp   写法   arch   category   des   集合   gets   png   临时表   

原文地址:http://www.cnblogs.com/pang572936554/p/6771349.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!