DB

SQL Serverの一時テーブルを利用してみた

SQL Serverに接続している(同一セッション内の)間だけ有効なテーブルを、一時テーブルという。
今回は、SQL Serverで一時テーブルを作成し利用してみたので、その手順とSQLを共有する。

前提条件

下記記事の「前提条件」の内容が完了していること。

Spring BootでSQL Serverに接続しMyBatisを利用してみた今回は、Spring Bootアプリケーションで接続するデータベースをSQL Serverに変更してみたので、そのサンプルプログラムを共...

また、A5M2からSQL Serverに接続できていること。その手順は、以下の記事を参考にすること。

A5M2を利用して各DBに接続してみたA5M2(A5:SQL Mk-2)は、SQL文の入力支援やER図作成などの機能を備えていて、Oracle、MySQL、PostgreSQ...

一時テーブルの操作

SQL Serverで、テーブル名が”#”で始まるテーブルを作成すると、一時テーブルになる。一時テーブルの作成・データ追加・データ確認・一時テーブル削除の操作を確認した結果は、以下の通り。

1) 一時テーブルを作成する。

CREATE TABLE #tmpName (
    name NVARCHAR(40)
)
一時テーブルの操作_1

2) 一時テーブルにレコードを追加する。

INSERT INTO #tmpName
    ( name )
VALUES
    ( N'テスト プリン1')
  , ( N'テスト プリン2')
  , ( N'テスト プリン3')
一時テーブルの操作_2

3) 以下のように、一時テーブルに追加されたレコードを確認することができる。

SELECT * FROM #tmpName
一時テーブルの操作_3 エンジニアファーストバナー

4) データベースに切断し再接続すると、先ほど作成した一時テーブルが削除されていることが確認できる。
一時テーブルの操作_4_1

再接続後一時テーブルの中身を確認すると、一時テーブル(#tmpName)が削除されていることが確認できる。
一時テーブルの操作_4_2

5) 一時テーブルは、以下のように、DROP TABLE文で明示的に削除することもできる。
一時テーブルの操作_5_1

DROP TABLE #tmpName
一時テーブルの操作_5_2



「Envader」はLinuxコマンドやDatabase SQL等のスキルを、環境構築不要で習得できる学習サイトだった「Envader」は、ITエンジニアとしてよく使うLinuxコマンドやDatabase SQL等のスキルを、解説を読んだ上で、問題を解き...

一時テーブルの一括操作

一時テーブルの作成・データ追加・データ確認・一時テーブル削除の処理を一括で実行するプログラム(tmp_tbl_operation.sql)の内容は、以下の通り。

CREATE TABLE #tmpName (
    name NVARCHAR(40)
);

INSERT INTO #tmpName
    ( name )
VALUES
    ( N'テスト プリン1')
   ,( N'テスト プリン2')
   ,( N'テスト プリン3');

SELECT * FROM #tmpName;

DROP TABLE #tmpName;

上記SQLを実行した結果は以下の通りで、一時テーブルに追加したレコードが表示されることが確認できる。
一時テーブルの一括操作

要点まとめ

  • SQL Serverに接続している(同一セッション内の)間だけ有効なテーブルを、一時テーブルという。
  • SQL Serverで、テーブル名が”#”で始まるテーブルを作成すると、一時テーブルになる。