2009年11月6日金曜日

SQL Serverの tempdbでシャープが付くテーブル名

SQL Server では、一時プロシージャは tempdb データベースに作成され、procedure_name の先頭にシャープ記号が 1 つ付く (#procedure_name) のがローカル一時プロシージャ、シャープ記号が2つ付く (##procedure_name) がグローバル一時プロシージャです。

ローカル一時プロシージャはその作成者だけが使用できます。ローカル一時プロシージャを実行する権限はほかのユーザーに許可することができません。ローカル一時プロシージャはユーザー セッションの終了時に自動的に削除されます。

グローバル一時プロシージャは SQL Server の全ユーザーに提供されます。グローバル一時プロシージャが作成された場合、全ユーザーがそれにアクセスでき、その権限は明示的に取り消さなければなりません。グローバル一時プロシージャはそのプロシージャを使用する最後のユーザー セッションの終了時に削除されます。

ローカル一時プロシージャは、複数のユーザーが同時に同じ名前で使っても、別々のテーブルになるのかなー???

via ひひーん!

0 件のコメント:

ブログ アーカイブ

カテゴリー