sql >> データベース >  >> RDS >> Sqlserver

SQL サーバーで一時テーブルを作成するために # を使用する必要がありますか?

    はい。一時テーブルを作成するには、テーブル名の前に「#」(ハッシュ) を付ける必要があります。

    後でテーブルが必要ない場合は、先に進んで作成してください。一時テーブルは通常のテーブルと非常によく似ています。ただし、tempdb で作成されます。また、現在のセッションを介してのみアクセスできます。つまり、EG の場合:あなたが作成した一時テーブルに別のユーザーがアクセスしようとしても、アクセスできません。

    "##" (二重ハッシュは、他のセッションからもアクセスできる "グローバル" 一時テーブルを作成します。

    一時テーブルの基本については、次のリンクを参照してください。 -2005">http://www.codeproject.com/Articles/42553/Quick-Overview-Temporary-Tables-in-SQL-Server-2005

    テーブルの内容が 5000 行未満で、nvarchar(MAX)、varbinary(MAX) などのデータ型が含まれていない場合は、テーブル変数の使用を検討してください。

    RAM に格納されている他の変数と同じように、最も高速です。 RAM ではなく、tempdb にも保存されます .

    DECLARE @ItemBack1 TABLE
    (
     column1 int,
     column2 int,
     someInt int,
     someVarChar nvarchar(50)
    );
    
    INSERT INTO @ItemBack1
    SELECT column1, 
           column2, 
           someInt, 
           someVarChar 
      FROM table2
     WHERE table2.ID = 7;
      

    テーブル変数の詳細:http://odetocode.com/articles/365.aspx



    1. Oracleデータベースとは何ですか?

    2. 単一のSQLSELECT1つのテーブル行から複数​​の行を返す

    3. Oracle-1つの結果でより多くのクエリ

    4. Oracle XMLTableの変数でXPathを使用するにはどうすればよいですか?