栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SQL Server / Oracle:专用临时表

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL Server / Oracle:专用临时表

正如您所发现的,SQL Server和Oracle临时表根本不同。

在Oracle中,全局临时表是永久对象,用于存储特定于临时会话(或特定于事务)的数据。

在SQL Server中,临时表是存储临时数据的临时对象,其中#temp_tables存储会话本地数据,而##
temp_tables存储全局数据。(我从不需要SQL
Server全局临时表,也不知道它们解决了什么问题。)如果#temp_table是在存储过程中创建的,则在存储过程退出时将被删除。否则,它将在会话关闭时被删除。

不,确实没有办法使SQLServer模仿Oracle。您可以将普通表与额外的列一起使用,以存储会话ID。但是就减少日志记录而言,您将无法获得临时表的优势。您必须手动删除临时数据。并处理从过早退出的会话中清除的问题。

编辑: Oracle和SQL Server之间的另一个区别是SQL
Server允许DDL与其他语句包装在事务中。因此,如果需要将临时表用作较大事务的一部分,则该

create table#table_name...
语句将不会像
create table
Oracle中的语句那样隐式提交当前事务。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/414703.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号