TSQL のテーブル名「#mytable」と「mytable」の違いは何ですか? 多くのカスタム プロシージャで、テーブル名が「#」で始まるのを目にします。
質問する
43055 次
2 に答える
59
これらは、それらを作成したプロセス専用のローカル一時テーブルです。
于 2012-08-01T19:08:54.973 に答える
33
#mytable は一時テーブルで、mytable は具体的なテーブルです。
SQL Server の一時テーブルについて詳しく読むことができます。
これらは、バッチまたはプロシージャ内でデータを処理するときに、中間結果のワークスペースを提供するために最も頻繁に使用されます。また、テーブル値関数からテーブルを渡したり、ストアド プロシージャ間でテーブル ベースのデータを渡したり、最近ではテーブル値パラメーターの形式で、読み取り専用テーブル全体をアプリケーションから SQL Server ルーチンに送信したりするためにも使用されます。 、または読み取り専用の一時テーブルをパラメーターとして渡します。使用が終了すると、それらは自動的に破棄されます。
一時テーブルには、ローカル一時テーブル (# で始まる)、グローバル一時テーブル (## で始まる)、永続的な一時テーブル (TempDB で始まる..)、テーブル変数 ((@ で始まる) など、さまざまな種類があります。 )
于 2012-08-01T19:07:23.987 に答える