SQL怎么创建一个临时表

Posted

tags:

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

我在SQL里创建了一张表,如何再创建一张与其结构完全相同的临时表,不用代码可以吗?

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

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

删除临时表
drop table #临时表名;
drop table ##临时表名;
参考技术A 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
参考技术B SELECT * INTO #tmp FROM 表 WHERE 1 = 0本回答被提问者采纳 参考技术C SELECT * INTO #tmp FROM 表 WHERE 1 = 1 参考技术D 应该是create table吧

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

我是想做一个报表,然后用存储过程返回记录集保存到datatable中,由于关联很多表,一条sql语句无法显示,所以我想在存储过程中创建一个临时表,然后将相应的记录都插入到临时表中,最后返回,sql server比较熟悉,oracle中的具体语法不是很清楚,请各位能否给个简单的例子,先谢谢了!

参考技术A 建一个视图好啦.把结果存起来:
CREATE VIEW VIEW_NAME AS
SELECT * FROM A
UNION ALL
SELELCT * FROM B
这样就会把两张的表内容同时存在视图:VIEW_NAME中.并且还会时时更新.即方便又节省空间.
参考技术B 定义一个返回游标
open p_cursor for select * from table_name
参考技术C 查出的结果放到游标,前台在读取游标的结果 参考技术D 见图,直接不能回复 第5个回答  2011-02-15 临时表名是临时生成的???

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

SQL临时表使用

sqlserver怎么建临时表

sqlserver怎么建临时表?

sqlserver怎么建临时表?

MySQL创建临时表?

mysql数据库怎么把查询出来的数据生成临时表