4

SQL Server 2005/2008を検索しましたが、初心者向けの適切な一時テーブルの使用法のチュートリアルが見つかりません。通常のテーブルと比較した一時テーブルの長所と短所、その寿命、および一時テーブルがどのように共有されるか(同じセッション、クロスセッション)を知りたいですか?

よろしくお願いします、ジョージ

4

3 に答える 3

6

一時テーブルを作成する方法は2つあります。これはテーブルを作成し、PHYSICALTABLEからデータを挿入します。

SELECT FIELD1,FIELD2,FIELD3 INTO TempTable FROM PHYSICALTABLE;

もう1つの方法は、CREATETABLEメソッドを使用することです。

CREATE TABLE #TempTable (ID int,NAME varchar(50));
INSERT INTO #TempTable(ID,NAME) VALUES(1,'PERSON');

一時テーブルは、接続が閉じられるか、DROP TABLEコマンドを使用すると、サーバーによって削除されます。グローバル一時テーブルを使用しない限り(テーブル名に##を追加することにより)、すべての接続は独自の一時テーブルにのみアクセスできます。一時テーブルを読み取ったため、大きなテーブルでパフォーマンスが低下するため、通常は一時テーブルを使用して2つのテーブルをUNIONし、それら2つを+SUMでグループ化します。

于 2009-06-18T07:55:37.683 に答える
2

一時テーブルを作成してそこから選択するためのSQLの簡単な説明を次に示します。

-- Create Temp table
CREATE TABLE #temps 
(
    VId int,
    first   VARCHAR( 255 ),
    surname VARCHAR( 255 ),
    DOB DATETIME

    PRIMARY KEY (VId)
)

-- Insert some test data
Insert into #temps (Vid, first, surname, DOB) 
VALUES (1, 'Bob', 'Jennings','23 Feb 1970')


-- Insert some test data
Insert into #temps (Vid, first, surname, DOB) 
VALUES (2, 'John', 'Doe','14 Oct 1965')


-- Select data from the temp table
Select * from #temps


-- Run if you wish to drop the table
-- DROP T ABLE #temps
于 2009-06-18T10:21:11.257 に答える
1

次のガイドは、ライフタイム、共有などを含む一時テーブル(およびテーブル変数)に関する詳細情報を開始するのに非常に適した場所のようです。

SQL Serverの一時テーブルは本当に必要ですか?また、パフォーマンス上の理由から一時テーブルの使用も検討します。

それらを「通常の」テーブルと比較すると、最大の違いは基本的に通常のテーブルがデータベースに保持されるため、作業中のデータを格納する必要がある場合は常に使用する必要がありますが、クエリ/ストアドプロシージャなどのコンテキスト...

于 2009-06-18T07:57:27.100 に答える