sqlserver怎么建临时表?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver怎么建临时表?相关的知识,希望对你有一定的参考价值。

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 pzmc
select @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 pzmc
exec ('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')
我想把上面查询出来的结果建成一个临时表或者是视图,应该怎么建啊?

参考技术A SELECT * INTO #TEMPTABLENAME
FROM
(
SELECT xxxxxx //你的查询语句

)AS table_source //这个别名是必须的

WHERE xxxxxxxx //你需要的where判断
--------------------视图CREATE VIEW name
AS
SELECT * FROM ...

oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。

Oracle
的临时表的
处理机制,

SQL
Server
的不一样。
假如你的临时表的结构不是每次执行都发生变化的话
那么就是事先
通过
CREATE
GLOBAL
TEMPORARY
TABLE
语句,把临时表建立好。
存储过程里面,就根据需要,
执行
INSERT
/
SELECT
之类的操作就可以了
参考技术A create
procduce
test
is
isql
varchar2(200);
dptable
varchar2(100):='drop
table
test';
begin
isql:='create
global
temporary
table
test
(sid
int,sname
varchar2(20))
on
commit
delete
rows';
execute
immediate
isql;
--创建临时表
insert
into
test
values
(1,'abc');
execute
immediate
dptable;
---删除临时表
end;
-------------------
对于oracle
临时表在存储过程中调用,我是觉得这视乎没什么意义,oracle
提供在数据库里预定义临时表,只有在调用的时候才会在临时表空间里分配空间,也就是说你可以提前在数据库里创建临时表,然后再到存储过程里直接调用临时表就行了

以上是关于sqlserver怎么建临时表?的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver怎么建临时表?

oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。

关于sqlserver临时表的问题,请教高手!

在 SQL Server 中创建临时表是不是需要使用#?

InMemory:在内存中创建临时表和表变量

Oracle存储过程创建临时表,插入数据后,怎么返回临时表数据,并在asp.net中接收到datatable中