0

SQL Serverでは、次のようなことができます

declare @t as table(id int)

insert into @t values(1)
insert into @t values(2)

delete from @t where id=1

物理テーブルを作成せずにOracleにこれと同等のものはありますか。今、私はこれを行うために物理テーブルを作成し、後で削除していました。

私はこのリンクに行きましたOracleで一時テーブルを作成する方法ですが、それは2010年であり、参照リンクはOracle 8iに言及しています。これは Oracle 10g と 11g の状況でも同じですか? 私が訪れた別のリンクは、Oracle SQLで一時テーブルを構築しています

ありがとう

4

3 に答える 3

1

ほとんどの場合、それは必要ありません。Oracleでは、一時テーブルが必要な場合、「設計が間違っています」。MS SQL パターンを Oracle に正確に書き直そうとしないでください。MS SQL で一時テーブルを使用する場合、Oracle CTE (ネストされたサブクエリ、クエリ ファクタリング)CURSORまたは一部の PL/SQL コンストラクトで使用します。

一時テーブルは必要なものではありません。目的を達成するための手段にすぎません。Oracle では、他のツールを使用する必要があります。

于 2013-12-02T11:07:04.030 に答える
1

CREATE GLOBAL TEMPORARY TABLE admin_work_area (startdate DATE, enddate DATE, class CHAR(20)) ON COMMIT DELETE ROWS;

このステートメントは、トランザクション固有の一時テーブルを作成します。詳細については、以下のリンクを使用してください。

http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables003.htm#i1006400

于 2013-02-27T11:31:44.183 に答える