szujason
在程序的世界里,我们都是王!

1. 存储过程:是SQL语句和可选控制流语句的预先编译集合,以一个名称存储并作为一个单元处理。

  2. 存储过程存储在数据库中,可以在应用程序中通过一个调用执行。

  3. 存储过程的语法格式

  Create Proc[EDURE] Procedure_name

  [,number] [@Parameter data_type[VARYING] [=default][OUTPUT]]

  [,…N]

  [WITH {RECOMPILE |  ENCPYPTION | RECOMPILE, ENCRYPTION}]

  [FOR REPLICATION]

  AS sql_statement[,…n]

 

  解释:

  Procedure_name:存储过程的名字,对于数据库和所有者来说是唯一的。若要创建局部过程,可以再Procedure_name前加个编号符#,若是要创建全局过程,则加两个##编号符

  Number:是可选的参数,用来对同名的过程分组。以便用一条Drop Procedure语句就可以将同组的过程除去。

  @Parameter:过程中的参数。用户必须在执行过程中提供每个所声明的参数的值。参数智能替代常量,不能用于替代表名,列名或其他数据库对象的名称。

  Data_type:参数的数据类型。

 

  4. 例子:创建一个存储过程。是一个SQL查询语句。

  Create proc InsertData

  @name varchar(20),

  @sex varchar(20),

  @age int

  as

  insert into user values(@name,@sex,@age)

 

  使用该存储过程:

  //Con连接已声明

  Con.Open();

  SqlCommand cmd=new SqlCommand(“InsertData”,Con);

  cmd.CommandType=CommandType.StoredProcedure;

  cmd.Parameters.Add(“@name”,SqlDbType.VarChar,20).Value=”JASON”;

  cmd.Parameters.Add(@sex”,SqlDbType.VarChar,20).Value=””;

  cmd.Parameters.Add(“@age”,SqlDbType.Int).Value=”22”;

  cmd.ExecuteNonQuery();

 

posted on 2009-05-30 15:48  szuJason  阅读(166)  评论(0)    收藏  举报