如何像在Microsoft SQL Server中一样在Oracle SQL中创建临时表?[duplicate]

mnemlml8  于 2022-12-22  发布在  Oracle
关注(0)|答案(1)|浏览(180)
    • 此问题在此处已有答案**:

How do you create a temporary table in an Oracle database?(4个答案)
23小时前关门了。
我在网上看到了很多例子,但我仍然不确定如何创建临时表。下面的例子是我如何在SQL Server中创建临时表:

if object_id('tempdb.dbo.#processid') is not null truncate table #processid
if object_id('tempdb.dbo.#processid') is not null drop table #processid

select distinct
    lot_id,
    ssr.run_oid,
    process_id
into #processid
from sigma.sigma_run ssr
inner join sigma.sigma_lot ssl on ssl.run_oid = ssr.run_oid

如何在Oracle SQL中创建这样的临时表?

41zrol4v

41zrol4v1#

在Oracle中,我们通常创建临时表。
基本上,这取决于你想做什么。
如果你一定要,那么你可以。

create global temporary table temp_table as
select distinct
    lot_id,
    ssr.run_oid,
    process_id
from sigma.sigma_run ssr
inner join sigma.sigma_lot ssl on ssl.run_oid = ssr.run_oid;

但是,再一次,你应该解释一下幕后是什么,这样我们就可以建议下一步怎么做。
请注意,临时表中的数据只对您可见;如果你想共享这个查询收集的数据,那么创建一个“普通”表(也就是从这个语句中删除global temporary)。
此外,您还可以创建一个视图(它只是一个存储查询),然后从中获取数据。

相关问题