| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
==SQL Server ストアド プロシージャ 基本==
[[SQL Server][SQL Server 2005][SQL Server ストアド プロシージャ][Transact-SQL]]
*http://msdn.microsoft.com/ja-jp/library/ms190782(v=SQL.90).aspx
==基本==
===実行===
*EXECUTE ステートメントを使用
<&lt;blockquote>&gt;関数と異なる点は、名前の代わりに値を返さないことと、式の中で直接使用できないことの 2 点<&lt;/blockquote>&gt;
===利点===
サーバーに登録
*拡張ストアド プロシージャを使用すると、C などのプログラミング言語で独自の外部ルーチンを作成できる
*DLL なので、Microsoft SQL Server インスタンスで動的に読み込んで実行
<&lt;blockquote>&gt;この機能は、将来のバージョンの Microsoft SQL Server では削除される予定。代わりに、「CLR (共通言語ランタイム) 統合の概要」を使用すること。<&lt;/blockquote>&gt;
===[http://msdn.microsoft.com/ja-jp/library/ms187961(v=SQL.90).aspx システム ストアド プロシージャ]===
*管理作業の多くは、システム ストアド プロシージャと呼ばれる特殊なプロシージャにより実行
*システム ストアド プロシージャは Resource データベースが物理的な保存場所で、sp_ というプレフィックスが付きます
==設計==
<&lt;blockquote>&gt;バッチとして記述できる Transact-SQL コードはほぼすべて、ストアド プロシージャの作成に使用できます<&lt;/blockquote>&gt;
===規則===
*他のデータベース オブジェクトを作成できます。
*スキーマにより修飾されていないオブジェクト名使用される場合、既定ではこの名前はストアド プロシージャのスキーマになります。
*他のユーザーが使用するには、すべての DDL (データ定義言語) ステートメントで使用するオブジェクト名を、スキーマの名前で修飾することにより、名前が確実に同じオブジェクトに解決されます。
<&lt;blockquote>&gt;スキーマ名が指定されていないと、このオブジェクト名を、まず、プロシージャを呼び出したユーザーまたは EXECUTE AS 句に指定されているユーザーの既定のスキーマを使用し、次に dbo スキーマを使用して解決しようとします<&lt;/blockquote>&gt;

案内メニュー