SQL での一時テーブルの作成: 概要
クエリの目的は、'temp1' という名前の一時テーブルを作成し、そこにデータを設定することです。特定の 'register_type' ('%gen%') があります。ただし、この問題は、「CREATE TABLE AS」ではなく「CREATE TABLE」を使用することで発生します。
正しいアプローチ
一時テーブルを作成してデータを設定するにはクエリからのデータを使用する場合は、「CREATE TABLE AS」を使用する必要があります。
CREATE TEMP TABLE temp1 AS SELECT dataid , register_type , timestamp_localtime , read_value_avg FROM rawdata.egauge WHERE register_type LIKE '%gen%' ORDER BY dataid, timestamp_localtime;
このコマンドは、一時テーブルをメモリ内に作成し、クエリからの結果の行をそのテーブルに設定します。これは通常のテーブルに似ていますが、RAM 内に存在します。
PostgreSQL の一時テーブルについて
一時テーブルは現在のセッション内に表示され、セッションが終了すると消えます。あるいは、'ON COMMIT DROP' を指定して、トランザクションの終了時にテーブルを消去することもできます。
一時テーブルの代替手段
動的一時テーブルの場合は、使用を検討してください。 「CREATE VIEW」は、継続的に最新のデータのスナップショットを提供します。ただし、静的スナップショットには「CREATE TABLE AS」が推奨されます。
「SELECT INTO」でも一時テーブルを作成できますが、推奨されないと考えられています。代わりに、「CREATE TABLE AS」を使用してください。 「CREATE TABLE LIKE」はテーブル構造のみをコピーし、データはコピーしません。
単一のクエリ内でのみ使用される一時テーブルの場合、CTE またはサブクエリの「派生テーブル」が軽量の代替手段となります。
以上がSQL で一時テーブルを効率的に作成してデータを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。