sqlserver怎么建临时表?

declare@sqlvarchar(2000)declare@lievarchar(2000)set@sql=''set@lie=''select@sql=@sql+'... declare @sql varchar(2000)declare @lie varchar(2000)set @sql=''set @lie=''select @sql=@sql+',case when sum(case when pzmc='''+pzmc+''' then sl end) is null then 0 else sum(case when pzmc='''+pzmc+''' then sl end) end as ['+pzmc+']'from Z_YidaiZajiaozhongShengchan  where nian='2008' and jidu='春' and shsftg='通过' group by pzmcselect @lie=@lie+'+case when sum(case when pzmc='''+pzmc+''' then sl end) is null then 0 else sum(case when pzmc='''+pzmc+''' then sl end) end'from Z_YidaiZajiaozhongShengchan  where nian='2008' and jidu='春' and shsftg='通过' group by pzmcexec ('select case when (grouping(tbdw)=1) then ''合计'' else tbdw end as 场别 '+@sql+','+@lie+' as 合计 from Z_YidaiZajiaozhongShengchan where nian=''2008'' and jidu=''春'' and shsftg=''通过'' group by tbdw with rollup') 我想把上面查询出来的结果建成一个临时表或者是视图,应该怎么建啊? 展开
 我来答
dkydkyzg
推荐于2017-12-16 · TA获得超过147个赞
知道答主
回答量:14
采纳率:0%
帮助的人:4.9万
展开全部
表名前使用一个#号,临时表是局部的,使用两个#号,临时表是全局的,在断开连接后sql会自动删除临时表
create table #a
(
id int,
name varchar(50)
)
insert into #a(id,name) values(1,'123')
select * from #a
drop table #a
临时表除了名称前多了#号外,其他操作与普通表完全一样。
tb_Student是已建立好的表,我们通过临时表temp把tb_Student表中的内容复制到tb_lizi表中,可以使用如下的代码实现:
use mcf
SELECT * INTO #temp FROM tb_Student
SELECT * INTO tb_lizi FROM #temp
执行后断开sql连接并重新连接(也可以退出sq再l重新启动sql),发现tb_lizi表中的内容tb_Student表中的内容完全一致,实现了复制,同时我们没有用代码删除temp表,但mcf数据库中却没有temp表了,这是因为断开连接时sql自动删除了temp表
鸡障白遥实0U
高粉答主

2018-03-30 · 每个回答都超有意思的
知道大有可为答主
回答量:500
采纳率:100%
帮助的人:16万
展开全部

1、表名前使用一个#号,临时表是局部的,使用两个#号,临时表是全局的,在断开连接后sql会自动删除临时表

2、临时表除了名称前多了#号外,其他操作与普通表完全一样。

3、tb_Student是已建立好的表,我们通过临时表temp把tb_Student表中的内容复制到tb_lizi表中,可以使用如下的代码实现:
use mcf
SELECT * INTO  #temp FROM tb_Student
SELECT * INTO  tb_lizi FROM #temp
执行后断开sql连接并重新连接(也可以退出sq再l重新启动sql),发现tb_lizi表中的内容tb_Student表中的内容完全一致,实现了复制,同时我们没有用代码删除temp表,但mcf数据库中却没有temp表了,这是因为断开连接时sql自动删除了temp表

简介:

SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。

Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可以叫我表哥
2015-07-11 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
创建临时表
方法一:
create table #临时表名(字段1 约束条件,
字段2 约束条件,
.....)
create table ##临时表名(字段1 约束条件,
字段2 约束条件,
.....)
方法二:
select * into #临时表名 from 你的表;
select * into ##临时表名 from 你的表;
注:以上的#代表局部临时表,##代表全局临时表

查询临时表
select * from #临时表名;
select * from ##临时表名;

删除临时表
drop table #临时表名;
drop table ##临时表名;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一骑当后
2015-05-01 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40298 获赞数:306440
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部
Oracle创建临时表的语法如下:

CREATE GLOBAL TEMPORARY TABLE table
"(" column datatype [DEFAULT expr] [{ NULL | NOT NULL}]
[, column datatype [DEFAULT expr] [ {NULL | NOT NULL} ]... ")"
ON COMMIT {DELETE | PRESERVE } ROWS ;

在Oracle中,可以创建以下两种临时表:

  1) 会话特有的临时表

  CREATE GLOBAL TEMPORARY ( )

  ON COMMIT PRESERVE ROWS;

  2) 事务特有的临时表

  CREATE GLOBAL TEMPORARY ( )

  ON COMMIT DELETE ROWS;

  CREATE GLOBAL TEMPORARY TABLE MyTempTable
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shengbq
2012-02-22
知道答主
回答量:3
采纳率:0%
帮助的人:3.1万
展开全部
语法是:
create table #tableName("这里就是和正常表一样")
临时表主要的语法区别是: 表名前面是: #。
临时表的特点是:
只对当前连接有效,其他的连接是不能访问的。且表是保存的tempdb数据库中的,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式