SQL Server では、一時プロシージャは tempdb データベースに作成され、procedure_name の先頭にシャープ記号が 1 つ付く (#procedure_name) のがローカル一時プロシージャ、シャープ記号が2つ付く (##procedure_name) がグローバル一時プロシージャです。
ローカル一時プロシージャはその作成者だけが使用できます。ローカル一時プロシージャを実行する権限はほかのユーザーに許可することができません。ローカル一時プロシージャはユーザー セッションの終了時に自動的に削除されます。
グローバル一時プロシージャは SQL Server の全ユーザーに提供されます。グローバル一時プロシージャが作成された場合、全ユーザーがそれにアクセスでき、その権限は明示的に取り消さなければなりません。グローバル一時プロシージャはそのプロシージャを使用する最後のユーザー セッションの終了時に削除されます。
ローカル一時プロシージャは、複数のユーザーが同時に同じ名前で使っても、別々のテーブルになるのかなー???
via ひひーん!
0 件のコメント:
コメントを投稿