SQLServerで作ったテンポラリテーブルが見つからず無効になってしまう

公開日: : 最終更新日:2013/11/26 SQL Server , , , , ,

SQLServerでテンポラリテーブルを利用して処理を行う時に
「オブジェクト名 ‘#tmp_table’ が無効です」と作ったはずのテンポラリテーブル
見つからず無効になってしまい、上手くいかなかったので、その暫定的な解決方法の
メモ的な投稿です。

準備として下記のようなデータが入ったテーブル(account_table)を作成します。

次にこのテーブルからpriceが30000以上のものを抜き出して表示するストーアドプロシジャを
作成します。

これを

と実行すると取得できるのかと思いきや

とエラーになってしまいます。

何故か作成したテンポラリテーブルが見つからないようです。

どうやら「EXEC()」でまたがっていると作ったテンポラリテーブル
別物になっているように思えます。

そこで苦肉の策で2つのSQLを「;」で連結して、1つの「EXEC()」で
実行して見ました。

すると

とりあえずは無事取得できました。
「EXEC()」は別のセッションになるのかな?
別セッションなあばテンポラリテーブルも別・・・なんでしょう。
とりあえずはこれで逃げておこう。
後日、詳細の調査が必要です。

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 13 follow us in feedly

関連記事

SQLで順位を取得するRANK()とDENSE_RANK()

SQLで順位を取得する SQLServerで項目の順位付け関数を利用して 順位をします。

記事を読む

テーブルから列を削除する「ALTER TABLE テーブル名 DROP COLUMN 削除する列名」

既存のテーブルから指定した列を削除する 既存のテーブルで不要になった列を削除する方法です。

記事を読む

SQLServerのエラーコード一覧

SQLServerで発生するエラーコードとその内容を表にしてみました。 量が多いので別のサイトに分

記事を読む

SQLServerのテーブルやカラムにコメントをつける方法

SQLServerでテーブルやカラムにコメントをつける SQLServerで作成したテーブルやカラ

記事を読む

ALTER TABLEでカラムの属性を変更する

ALTER TABLEでカラムの属性を変更する すでに作成されているテーブルのカラムの属性を変更し

記事を読む

テーブル型を戻り値とする関数の作成方法

SQLServerでテーブル型を戻り値とする関数を作る SQLServerではINT型やVARCH

記事を読む

@@ROWCOUNTで処理した件数を取得する

@@ROWCOUNTは直前に処理した件数を取得するための関数 SQLServerでは実行したSQL

記事を読む

GROUP BYとHAVINGで最新日付データを取得する

GROUP BYとHAVINGで最新日付データを取得する 社員マスタなどで最新のレコードのみを取得

記事を読む

DEFAULT制約付きのカラムの属性を変更する

DEFAULT制約付きのカラムの属性を変更する SQLServerでDEFAULT制約付きのカラム

記事を読む

既に存在するテーブルに他のテーブルからデータをINSERTする方法

テーブルからテーブルへデータコピー 以前の投稿SELECT INTOで既存テーブルのデータを新規テ

記事を読む

SELECTでUNIONは複数個使える

SELECTでの複数のUNIONの使い方 SELECTでUNIONは

SQLサーバ
SQLServerでROW_NUMBER()を使って連番を採番する

ROW_NUMBER()で連番を取得する SQLServerでROW

SQLで改行コードを含む項目を取得する

SQLで改行コードを含む項目を検索する Microsoft SQL

ユーザー定義テーブル型変数を使用する

ユーザー定義テーブル型を使ってみる SQLServer 2008には

SQLServer上にあるテーブルの更新日時を取得する。

テーブルの更新日時を取得 SQLServer上にあるストアドプロシー

→もっと見る



PAGE TOP ↑