gpt4 book ai didi

sql - 如何在 Oracle 数据库中创建临时表?

转载 作者:行者123 更新时间:2023-12-03 05:04:50 26 4
gpt4 key购买 nike

我想在 Oracle 数据库中创建临时表

类似的东西

Declare table @table (int id)

在 SQL 服务器中

然后用 select 语句填充它

可能吗?

谢谢

最佳答案

是的,Oracle 有临时表。这是 AskTom 的链接描述它们的文章和 here是oracle官方CREATE TABLE文档。

但是,在Oracle中,只有临时表中的数据是临时的。该表是其他 session 可见的常规对象。在 Oracle 中频繁创建和删除临时表是一种不好的做法。

CREATE GLOBAL TEMPORARY TABLE today_sales(order_id NUMBER)
ON COMMIT PRESERVE ROWS;
<小时/>

Oracle 18c 添加了私有(private)临时表,它们是单 session 内存对象。请参阅the documentation更多细节。私有(private)临时表可以动态创建和删除。

CREATE PRIVATE TEMPORARY TABLE ora$ptt_today_sales AS
SELECT * FROM orders WHERE order_date = SYSDATE;
<小时/>

临时表可能很有用,但它们在 Oracle 中经常被滥用。通常可以通过使用内联 View 将多个步骤组合到单个 SQL 语句中来避免它们。

关于sql - 如何在 Oracle 数据库中创建临时表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2671518/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com