java操作mysql临时表_Java开发网 - 系统临时表使用问题

本文介绍了Java操作MySQL系统临时表的使用,包括其生命周期和数据存在周期。系统临时表基于会话,当连接关闭时消失,但在返回结果集的存储过程中不会立即消失。在WebSphere上使用时需要注意关闭连接并不真正释放数据库资源,需要显式DROP临时表。临时表的数据在内存中,无论提交或回滚,数据都会丢失,但表结构仍然存在。
摘要由CSDN通过智能技术生成

Posted by:hzxl

Posted on:2003-08-31 18:14

系统临时表的使用:

在一些程序中,我们需要一些仅仅在程序中使用的临时表,但是程序结束后就不再使用,数据库系统对这些应用提供系统临时表,关于系统临时表的生命存在周期和临时表的数据存在周期说明一下:

1、生命存在周期:

A、理论上系统临时表是不需要显示的drop的,它是基于会话的,当系统临时表基于的连接关闭的时候,系统临时表将结束它的生命,这是最普通也是最常用的。

B、当一个被调用对象的返回值是一个在临时表上执行的结果集,这个被调用对象执行完毕的时候,是关闭连接的,但是,这时候临时表是不消失的,这时候系统临时表在调用者结束的时候才消失。因为返回的结果集只是一个相当于指针的东西,指向临时表内存中的地址,指向临时表的指针还在使用的时候,临时表是不能drop掉的。这带来了很复杂的问题,首先:存储过程中是不能drop临时表的,而程序中没有创建临时表,也应该是不drop的,临时表什么时间drop呢?其次:我们在一个连接中,无法2次调用一个存储过程,他将告诉你临时表已经存在。可以做一个简单的例子:写一个带有临时表返回结果的存储过程,在调用存储存储过程的程序中,我们完全可以访问这个临时表。

简单例子:

存储过程

/**

* JDBC 存储过程 ADMINISTRATOR.P1

*/

import java.sql.*; // JDBC 类<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值