精华内容
下载资源
问答
  • 主要介绍了sql server创建临时表两种写法和删除临时表 ,需要的朋友可以参考下
  • oracle两种临时表的创建及使用方法

    万次阅读 2017-08-23 15:50:19
    oracle数据库的临时表可以用来保存一个会话session的数据,或者一个事务...创建临时表有两种方式:  1、会话级临时表 on commit delete rows; 当COMMIT的时候删除数据(默认情况)  2、事务级临时表 on commit p

    oracle数据库的临时表可以用来保存一个会话session的数据,或者一个事务中的数据。当查询语句非常复杂时,我们就可以创建一个临时表时保存查询结果,并进行一系列操作。

    一、创建临时表

    创建临时表有两种方式:
        1、会话级临时表  on commit delete rows;      当COMMIT的时候删除数据(默认情况)
        2、事务级临时表  on commit preserve rows;  当COMMIT的时候保留数据


    1.会话级临时表

    会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。

    执行commit或者rollback操作,表内数据依然存在,新建一个命令窗口(相当于开启了一个新的会话),表内的数据就查询不到了。

    格式:

    Create Global Temporary Table Temp_Name
    (
    Col1 Type1,
    Col2 Type2
    ...
    )
    On Commit Preserve Rows;

    例子:

    create global temporary table temp_tb (col1 varchar(20)) on commit preserve rows;
    insert into temp_tb values('test');
    select * from temp_tb;



    2.事务级临时表

    事务级临时表是指临时表中的数据只在事务生命周期中存在,当一个事务结束(commit or rollback),Oracle自动清除临时表中数据。

    Create Global Temporary Table Temp_Name
    (
    Col1 Type1,
    Col2 Type2
    ...
    )
    On Commit Delete Rows;

    例子

    create global temporary table temp_tb (col1 varchar(20)) on commit delete rows;
    insert into  temp_tb values('test');
    select * from  temp_tb;

    二、将查询结果保存在之前不存在的临时表中

    例子:这是会话级的
    CREATE GLOBAL TEMPORARY TABLE tmptable  
    ON COMMIT PRESERVE ROWS   
    AS  
    SELECT *  
    FROM tablename  




    展开全文
  • 临时表分为两种,一种是内存临时表,一种是磁盘临时表。内存临时表采用的是memory存储引擎,磁盘临时表采用的是myisam存储引擎(磁盘临时表也可以使用innodb存储引擎,通过internal_tmp_disk_storage_engine参数来...
  • oracle两种临时表的创建

    千次阅读 2018-05-25 15:14:56
    临时表在我们需要保存一些临时数据时是非常有用的。...创建临时表有两种方式: 1、事务级临时表 on commit delete rows 当commit的时候删除数据(默认) 2、回话级临时表 on commit preserve row...

    临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接时,会自动删除表并释放所有空间。当我们想要进行一个很复杂或数据量很大的查询时,我们就可以创建一个临时表来保存,并进行操作

    创建临时表有两种方式:
    1、事务级临时表 on commit delete rows 当commit的时候删除数据(默认)
    2、回话级临时表 on commit preserve rows 当commit的时候保留数据

    1、会话级临时表
    会话级临时表是指临时表中的数据只在回话生命周期存在,当客户关闭会话时,oracle也会清除临时表的数据
    语法:

    {
    ID number,
    userName VARCHAR(64)
    } on commit preserve rows
    
    或者
    
    create Global temporary table table_tmp on commit preserve rows
    as select * from table_ 
    

    2、事务级临时表
    事务级临时表实质临时表中的数据只在事务生命周期存在,当用户执行commit、rollback时候,oracle会清除临时表数据

    语法:

    {
    ID number,
    userName VARCHAR(64)
    }on commit delete rows;
    
    或者
    create global temporary table table_tmp on commit delete rows
    as select * from table_

    注意:
    当对临时表的操作结束之后,要及时对临时表进行删除,否则在数据库会残留很多临时表和元数据

    展开全文
  • Oracle两种临时表的创建与使用详解

    千次阅读 2017-08-23 09:36:51
    ORACLE数据库除了可以保存永久表外,还可以建立临时表temporary tables。这些临时表用来保存一个会话SESSION的数据,或者保存在一个事务中需要的数据。当会话退出或者用户提交commit和回滚rollback事务的时候,临时...

    什么时候使用临时表?用临时表和用中间表有啥区别呢?

    我觉得是在需要的时候应用,下面是David Dai关于临时表的一个应用说明,我觉得非常形象的说明了临时表的应用场景:对于一个电子商务类网站,不同消费者在网站上购物,就是一个独立的 SESSION,选购商品放进购物车中,最后将购物车中的商品进行结算。也就是说,必须在整个SESSION期间保存购物车中的信息。同时,还存在有些消费者,往往最终结账时放弃购买商品。如果,直接将消费者选购信息存放在最终表(PERMANENT)中,必然对最终表造成非常大的压力。因此,对于这种案例,就可以采用创建临时表(ON COMMIT PRESERVE ROWS)的方法来解决。数据只在 SESSION 期间有效,对于结算成功的有效数据,转移到最终表中后,ORACLE自动TRUNCATE 临时数据;对于放弃结算的数据,ORACLE 同样自动进行 TRUNCATE ,而无须编码控制,并且最终表只处理有效订单,减轻了频繁的DML操作的压力。

    1:当处理某一批临时数据,需要多次DML操作时(插入、更新等),建议使用临时表。

    2:当某些表在查询里面,需要多次用来做连接时。(为了获取目标数据需要关联A、B、C, 同时为了获取另外一个目标数据,需要关联D、B、C....)

    关于临时表和中间表(NOLOGGING,保存中间数据,使用完后删除)那个更适合用来存储中间数据,我个人更倾向于使用临时表,而不建议使用中间表


    ORACLE数据库除了可以保存永久表外,还可以建立临时表temporary tables。这些临时表用来保存一个会话SESSION的数据,或者保存在一个事务中需要的数据。当会话退出或者用户提交commit和回滚rollback事务的时候,临时表的数据自动清空,但是临时表的结构以及元数据还存储在用户的数据字典中。

    分类:
    1.会话级临时表

    会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。

    格式:

    ?
    1
    2
    3
    4
    5
    6
    7
    Create Global Temporary Table Table_Name
    (
    Col1 Type1,
    Col2 Type2
    ...
    )
    On Commit Preserve Rows;

    2.事务级临时表
    事务级临时表是指临时表中的数据只在事务生命周期中存在。
    ?
    1
    2
    3
    4
    5
    6
    7
    Create Global Temporary Table Table_Name
    (
    Col1 Type1,
    Col2 Type2
    ...
    )
    On Commit Delete Rows;

    当一个事务结束(commit or rollback),Oracle自动清除临时表中数据。

    下面在Oracle 10g中演示了临时表的创建与使用:

    1.创建事务级临时表,插入一条数据,并查询:

     

    ?
    1
    2
    3
    create global temporary table transaction_temp_tb (col1 varchar (20)) on commit delete rows ;
    insert into  transaction_temp_tb values ( 'test' );
    select * from  transaction_temp_tb;
    \

     

    2.执行commit或者rollback操作,临时表内数据就被清空,但表结构依然存在:

    \

    3.创建一个会话级临时表,插入一条数据,并查询:

     

    ?
    1
    2
    3
    create global temporary table session_temp_tb (col1 varchar (20)) on commit preserve rows ;
    insert into session_temp_tb values ( 'test' );
    select * from session_temp_tb;

    \

     

    4..执行commit或者rollback操作,表内数据依然存在,新建一个命令窗口(相当于开启了一个新的会话),表内的数据就查询不到了:

    \

    5.如果创建会话临时表的会话没有结束,则无法删除此临时表,因为临时表,还在使用之中,但是结束会话(关闭创建会话级临时表的命令窗口)后就可以删除了:

    \

    \


    展开全文
  • 临时表创建

    千次阅读 2019-02-21 13:36:42
    两种临时表的语法: create global temporary table 临时表名 on commit preserve|delete rows 用preserve时就是SESSION级的临时表,用delete就是TRANSACTION级的临时表 一、SESSION级临时表 1、建立临时表 Sql代码 ...

    临时表创建

    // An highlighted block
    
    两种临时表的语法:
    create global temporary table 临时表名 on commit preserve|delete rows 用preserve时就是SESSION级的临时表,用delete就是TRANSACTION级的临时表
    一、SESSION级临时表
    1、建立临时表
    Sql代码
    create global temporary table temp_tbl(col_a varchar2(30))
    on commit preserve rows
    2、插入数据
    insert into temp_tbl values('test session table')
    3、提交
    commit;
    4、查询数据
    select *from temp_tbl
    可以看到数据'test session table'记录还在。
    结束SESSION,重新登录,再查询数据select *from temp_tbl,这时候记录已不存在,因为系统在结束SESSION时自动清除记录
    [1] 
    二、TRANSACTION级临时表
    1、建立临时表
    create global temporary table temp_tbl(col_a varchar2(30))
    on commit delete rows
    2、插入数据
    insert into temp_tbl values('test transaction table')
    3、提交
    commit;
    4、查询数据
    select *from temp_tbl
    这时候可以看到刚才插入的记录'test transaction table'已不存在了;同样,如果不提交而直接结束SESSION,重新登录记录也不存在
    DoingNetDbContext这个地方加表名字
    WebForm 页面ajax 请求后台页面 方法
    function ReturnOperation(InventoryID) {
                 //入库 接口
                 if (confirm('你确认?')) {
                     $.ajax({
                         type: "post",
                         url: "xxx.aspx/InStorage",
                         data: "{InventoryID:'"+InventoryID+"'}",//注意,json 对象外面 加 双引号 
                         contentType: "application/json",
                         dataType: "json",
                         success: function (r) {
                             if (r.d =="1") {
                  alert("入库成功");
                             } else {
                                 alert("入库失败");
                             }
                         },
                         error: function (e) {
                             alert("错误是:" + e.responseText);
                         }
                     })
                 } else {
     
                 }
             }   
             
             这是前端code  
              [WebMethod]  //注意添加引用,方法为静态
        public static string InStorage(string InventoryID)
        {
      
           return InventoryID;
        }          
       
    
    展开全文
  • MySQL临时表与内存表

    千次阅读 2019-01-13 12:03:18
    在MySQL中虚拟表:临时表、内存表、视图。下面简单介绍一下临时表和内存表的使用。 1、临时表 MySQL临时表在我们需要保存一些临时数据时是非常有用的。临时表在MySQL 3.23版本中添加。临时表只在当前连接...
  • MSSQL创建临时表两种方法

    千次阅读 2013-07-13 13:54:33
    下面是创建临时表两种方法: 第一种方法(全新创建)—— create table #t(uid int,name varchar(100),sex varchar(100),city varchar(100)); 详解: create table意为创建表; #t,意为表名是t,加#号...
  • --创建、删除临时表 --第一方式 create table #tmp(name varchar(255),id int) --第二方式 select count(id) as storyNum , sum(convert(numeric(10,2),case when isnumeric(code)=1 then code else 0 end)) ...
  • Oracle两种临时表的创建

    千次阅读 2017-10-20 10:44:05
    会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。 格式: Create Global Temporary Table Table_Name ( Col1 Type1, Col2 Type2 ... ...
  • Postgresql临时表

    千次阅读 2017-12-21 22:35:37
    PostgreSQL支持临时表,会话级和事务级临时表。在会话级别的临时表中,在整个会话的生命周期中,数据一直保存。事务级临时表,数据只存在于这个事务的生命周期中。不指定临时表的属性, PostgreSQL中,不管是...
  • postgresql中的临时表

    万次阅读 2018-10-28 16:11:47
    前言 参考: Postgresql中临时表(temporary table)的特性和用法 【PostgreSQL-9.6.3】临时表 PostgreSQL SELECT INTO和...PostgreSQL中的临时表两种,一种是会话级临时表,一种是事务级临时表。在会话级临时表...
  • SQL临时表

    千次阅读 2019-06-26 19:08:40
    临时表有两种类型: 本地临时表 以一个井号 (#) 开头的那些表名。只有在创建本地临时表的连接上才能看到这些表,链接断开时临时表即被删除(本地临时表为创建它的该链接的会话所独享)或者...
  • Oracle数据库临时表

    千次阅读 2019-04-05 00:07:32
    相对应的,在Oracle数据库中还有一类型的表,叫做临时表。这个临时表跟永久表最大的区别就是表中的数据不会永远的存在。当一个会话结束或者事务结束的时候,这个临时表中的数据,不用用户自己删除,数据库自己会...
  • 用户自定义的临时表,比如:create temporary table (id int, str1 varchar(100) );SQL执行过程中产生的内部临时表,...那么这两种临时表的计数器通常用show global status like '%tmp_%tables%' 来查看。比如mysq...
  • SELECT INTO创建临时表 SQL Server

    千次阅读 2021-01-19 02:59:16
    SQLServer临时表有两种类型:本地和全局。它们在名称、可见性以及可用性上区别。本地临时表的名称以单个数字符号(#)打头;它们仅对当前的用户连接是可见的;当用户从 SQL Server 实例断开连接时被删除。全局临时表...
  • oracle创建临时表

    千次阅读 2019-05-27 09:07:00
    有两种类型的临时表:会话型临时表和事务型临时表。 事务型临时表: create global temporary table hbk(name varchar2(20),id number,birthday date) on commit delete rows; 会话型临时表: create global ...
  • spark-sql createOrReplaceTempView 和createGlobalTempView区别 Spark Application Spark Application 使用: 针对单个批处理作业 ...createOrReplaceTempView:创建临时视图,此视图的生命周期与用于创建.
  • 什么是临时表:MySQL用于...临时表分为两种,一种是内存临时表,一种是磁盘临时表。内存临时表采用的是memory存储引擎,磁盘临时表采用的是myisam存储引擎(磁盘临时表也可以使用innodb存储引擎,通过internal_tmp_d...
  • SQL Server 表变量和临时表的区别

    千次阅读 2017-07-05 23:11:25
    SQL Server 表变量和临时表的区别
  • mysql 使用过程中常用的两种临时表

    千次阅读 2017-03-13 11:16:50
    晓幕晨雪 2017-02-24 14:26 一是外部临时表 通过CREATE TEMPORARY TABLE 创建的临时表,这种临时表称为外部临时表。这种临时表只对当前用户可见,...内部临时表是一特殊轻量级的临时表,用来进行性能优化。这种
  • [数据库]数据库临时表

    千次阅读 2014-08-09 09:09:53
    临时表有两种类型:  本地临时表  以一个井号 (#) 开头的那些表名。只有在创建本地临时表的连接上才能看到这些表,链接断开时临时表即被删除(本地临时表为创建它的该链接的会话所独享)或者这样说局
  • 在MYSQL中存在三虚拟表:临时表、内存表、视图 1、基本表 基本表是本身独立存在的表,在SQL中一个关系就对应一个表。 2、中间表 中间表它主要是用来兼容数据,建立映射关系,来兼容新老数据表的数据。一般是在实体...
  • 数据库——临时表

    万次阅读 2019-07-10 01:14:12
     在我们操作的数据量庞大而且又要关联其他进行查询的时候或者我们操作的数据是临时性数据且在短期内会很多DML操作(比如购物车)的时候或者我们做查询时需要连接很多个的时候,如果直接操作数据库的业务...
  • ORACLE临时表总结[好处,何时用]

    千次阅读 2018-06-04 11:16:34
    临时表概念  临时表就是用来暂时保存临时数据(亦或叫中间数据)的一个数据库对象,它和普通表有些类似,然而又很大区别。...ORACLE临时表有两种类型:会话级的临时表和事务级的临时表。 1)O...
  • mysql 内存表和临时表学习

    千次阅读 2018-02-27 22:15:37
    临时表 内存表 视图 临时表 简介: 临时表是建立在系统临时文件夹中的表。临时表的数据和表结构都存储在内存之中,退出的时候所占的空间会被释放 创建临时表 create temporary table tmp_table( name ...
  • SQLServer创建临时表两种方式

    千次阅读 2012-03-08 09:59:58
    在SQLServer中可以使用两种方式创建临时表,其中临时表分为临时表和系统临时表。 方法一:  ①创建临时表   create table #tableName(column1 dataType,…………)  创建的临时表在用户退出SQLServer时,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 337,045
精华内容 134,818
关键字:

临时表有哪两种