2012-08-01 4 views
21

TSQLのテーブル名 "#mytable"と "mytable"の違いは何ですか?私はテーブル名が多くのカスタムプロシージャで "#"で始まるのを見ています。TSQLのテーブル名の前にある "#"の意味は何ですか?

+2

が、これを読んでくださいくださいくださいhttp://dba.stackexchange.com/質問/ 16385/whats-the-difference-a-temp-table-and-table-variable-in-sql-server –

答えて

31

これらは、それらを作成したプロセスにプライベートいるローカル・テンポラリ・テーブルがあるで始まる

19

#mytableはmytableが具体的なテーブルである一時テーブルです。

Temporary Tables in SQL Serverについて詳しく読むことができます。

これらは、バッチまたはプロシージャ内のデータを処理するときに中間結果の作業領域を提供するために最も頻繁に使用されます。また、 は、テーブル値関数からテーブルを渡したり、ストアドプロシージャ間で テーブルベースのデータを渡したり、最近では フォームのテーブル値パラメータを渡して、 アプリケーションからすべての読み取り専用テーブルを送信するためにも使用されますSQL Serverルーチンに渡すか、読み取り専用の一時的な テーブルをパラメータとして渡します。一度使用が終了すると、自動的に が破棄されます。

一時テーブルは ローカル・テンポラリ・テーブル(#で始まる)、グローバル・テンポラリ・テーブル (##から始まる)、永続的な一時テーブルは、とりわけ、など、さまざまな種類があります( のTempDBで始まる。)、およびテーブル。。変数((@)

関連する問題