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();
浙公网安备 33010602011771号