|
|
1
9
正如您所发现的,SQL Server和Oracle临时表有根本不同。 在Oracle中,全局临时表是存储临时会话特定(或事务特定)数据的永久对象。 在SQL Server中,临时表是存储临时数据的临时对象,其中,临时表存储会话本地的数据,临时表存储全局数据。(我从未需要SQL Server全局临时表,也不知道它们解决了什么问题。)如果临时表是在存储过程中创建的,则在存储过程退出时将删除它。否则,会话关闭时将删除它。 不,实际上没有办法让SQL Server模仿Oracle。您可以使用一个带有额外列的普通表来存储会话ID。但是,对于较少的日志记录,您不会得到临时表的优势。你必须手动删除临时数据。处理从过早退出的会话中清除的问题。
编辑:
Oracle和SQL Server的另一个区别是,SQL Server允许将DDL与其他语句包装在事务中。因此,如果需要将临时表用作更大事务的一部分,那么
|
|
|
2
1
这不是主题,但您是否知道在SQL Server中可以创建这样的临时表:
|
|
|
3
1
当需要合并来自具有公共合并字段的不同源的数据时,SQL中的临时表可能非常有用,但在合并之前需要求和金额,以便比较两个源的净合计。在一个有用的金融体系中。当我们从SQL Server迁移到Oracle时,我很失望,因为我失去了这个功能。 下面的示例用于PeopleSoft财务实现。一旦在两者之间运行了接口,预算模块(KK表)和总帐(日记账)的资金余额应相同。下面的查询从KK表中按资金汇总预算金额,并将其存储在临时表中,然后从总帐中按资金汇总相应的金额,然后合并两个预汇总的数据表,以允许比较两个来源的每个资金的净金额,并且仅当以下两个来源的金额之间存在差异时才列出结果:基金。在这种情况下,预算和总账模块不同步。这实际上是一个非常优雅的解决方案,不需要为这个查询/报告创建一个可供其他人使用的全局临时表。 我希望有人能发现这个有用。当时它帮助了我。
|
|
|
maddy · 如何根据oracle SQL中的某一列值进行排名 3 年前 |
|
|
kiric8494 · 显示以元音开头和结尾的城市名称 4 年前 |
|
|
Franz Biberkopf · Oracle:组合子查询和聚合函数 4 年前 |
|
|
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 4 年前 |
|
|
Arifullah · 如何从oracle中的列中删除特定的初始字符? 4 年前 |
|
|
Anar · Oracle SQL用户定义函数 4 年前 |
|
|
user1312312 · 如何为一组表编写通用触发器? 4 年前 |