通常のテーブルを作成するのと同様に一時テーブルを作成する方法は?
例:
CREATE TABLE table_name
(
column1 datatype,
column2 datatype,
column3 datatype,
....
);
一時テーブルには3種類あり、#
が最も使用されます。これは、現在のセッションにのみ存在する一時テーブルです。これに相当するのは、@
、宣言されたテーブル変数です。これは「インデックス」などの「関数」が少し少なく、現在のセッションでのみ使用されます。 ##
は#
と同じものですが、スコープが広いため、同じセッション内、他のストアドプロシージャ内で使用できます。
一時テーブルはさまざまな方法で作成できます。
declare @table table (id int)
create table #table (id int)
create table ##table (id int)
select * into #table from xyz
同じこと、テーブル名を#
または##
で始めるだけです:
CREATE TABLE #TemporaryTable -- Local temporary table - starts with single #
(
Col1 int,
Col2 varchar(10)
....
);
CREATE TABLE ##GlobalTemporaryTable -- Global temporary table - note it starts with ##.
(
Col1 int,
Col2 varchar(10)
....
);
一時テーブル名は#
または##
で始まります-最初はローカル一時テーブルで、最後はグローバル一時テーブルです。
ここ は、それらの違いを説明する多くの記事の1つです。