ASP.NET+SQLストレージ・プロシージャの作成
1161 ワード
ストアド・プロシージャ(Stored Procedure)は、特定の機能を達成するためのSQL文セットのセットであり、コンパイルされてデータベースに格納されます.ユーザーは、ストレージ・プロシージャの名前を指定し、そのストレージ・プロシージャにパラメータがある場合にパラメータを指定することによって実行します.ストレージ・プロシージャは事前に最適化されてコンパイルされたSQL文であるため、実行効率が高く、エンタープライズ・プロジェクトではストレージ・プロシージャの応用が非常に広範である.次にADOの使用について説明する.NETは、ストアド・プロシージャと様々なタイプのパラメータを呼び出す方法です.まず、Forumデータベースのストレージ・プロシージャを作成します. 1. IDEのサーバエクスプローラを開き、Forumデータベースに接続します.
2. ストアド・プロシージャ・ノードを右クリックし、「新規ストアド・プロシージャの追加」を選択します.
3. システムは、ストレージ・プロシージャのテンプレートを作成します. 4. このストレージ・プロシージャを次のように変更します.
1.まず、記憶処理は、入力パラメータ@ClassNameの値により、この分類名に対応するClassIDを問合せ、出力パラメータ@ClassIDに付与する.
2.次に、tbBoardに入力パラメータ@BoardNameというレコードを挿入します.このブロックが属する分類のClassIDは、前にクエリした@ClassIDです.
3.最後にクエリ@BoardCountのレコードの合計数を指定し、宣言した@BoardCountを返します.
2. ストアド・プロシージャ・ノードを右クリックし、「新規ストアド・プロシージャの追加」を選択します.
3. システムは、ストレージ・プロシージャのテンプレートを作成します. 4. このストレージ・プロシージャを次のように変更します.
ALTER PROCEDURE CreateBoard
@ClassName varchar(50),
@BoardName varchar(50),
@ClassID varchar(50) output
AS
declare @BoardCount int;
Set @ClassID = ( Select ClassID from tbClass where ClassName=@ClassName );
Insert into tbBoard (BoardName,BoardClassID) values (@Boardname,@ClassID);
Set @BoardCount = ( Select count(*) from tbBoard );
return @BoardCount;
1.まず、記憶処理は、入力パラメータ@ClassNameの値により、この分類名に対応するClassIDを問合せ、出力パラメータ@ClassIDに付与する.
2.次に、tbBoardに入力パラメータ@BoardNameというレコードを挿入します.このブロックが属する分類のClassIDは、前にクエリした@ClassIDです.
3.最後にクエリ@BoardCountのレコードの合計数を指定し、宣言した@BoardCountを返します.