記憶過程の新人学習



格納プロセス(Stred Procesdure)は、特定の機能を達成するためのT−SQLステートメントのセットであり、コンパイルされた後にSQL Serverサーバに格納され、格納プロセスを利用してSQL文の実行を加速することができる。
アプリケーションでは、格納プロセスを使ってデータを読み取り、アプリケーションの動作効率を向上させ、データベースの管理や表示情報を簡略化することができる。
保存プロセスを作成:
USE       
GO
CREATE PROC      _insert (
    @   nvarchar(10),
    @   nvarchar(10),
    @   nvarchar(20),
    @   nvarchar(2),
    @     datetime
    @   nvarchar(10),
    @     nvarchar(6),
    @     nvarchar(50)
)AS
BEGIN
    INSERT INTO      
   VALUES(
            @  , @  , @  ,@  , @    , 
            @  , @    , @     
   )
END
保存プロセスを起動:
 
using (SqlConnection conn = new SqlConnection(connString))
            {
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "     _insert";
                    SqlParameter[] parms = { 
                       new SqlParameter("@  ",SqlDbType.NVarChar,10),
                       new SqlParameter("@  ",SqlDbType.NVarChar,10),
                       new SqlParameter("@  ",SqlDbType.NVarChar,20),
                       new SqlParameter("@  ",SqlDbType.NVarChar,2),
                       new SqlParameter("@    ",SqlDbType.DateTime),
                       new SqlParameter("@  ",SqlDbType.NVarChar,10),
                       new SqlParameter("@    ",SqlDbType.NVarChar,6),
                       new SqlParameter("@    ",SqlDbType.NVarChar,50)
                                           };
                    parms[0].Value = stuID.Text.Trim();
                    parms[1].Value = classID.Text.Trim();
                    parms[2].Value = stuName.Text.Trim();
                    parms[3].Value = stusex1.Checked ? " " : " ";
                    parms[4].Value = stuB.Value;
                    parms[5].Value = xb.SelectedItem.ToString();
                    parms[6].Value = zzmm.SelectedItem.ToString();
                    parms[7].Value = stuF.Text.Trim();
                    cmd.Parameters.AddRange(parms);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                    cmd.Dispose();
                    conn.Close();
                }
            }