利用存储过程进行批量数据添加
2007-05-24 18:05
741 查看
下面这个存储过程是实现将表t_jxjh_ydjxrws中满足条件的数据添加到表t_jxrws中
CREATE PROCEDURE jxjh_sczxjxrws
@xnxqbh varchar(5),
@zybh varchar(10),
@ccbh varchar(10),
@nj int
AS
declare @li_bjs int
declare @ls_kc varchar(100)
declare @li_zks int
declare cur_1 cursor for select bjs,kc,zks from t_jxjh_ydjxrws where xnxqbh=@xnxqbh and zybh=@zybh and ccbh=@ccbh and nj=@nj --定义游标
open cur_1 --打开游标l
fetch next from cur_1 into @li_bjs,@ls_kc,@li_zks --取第1条记录
while @@fetch_status=0 --循环读取剩余记录
begin
insert into t_jxrws(xnxqbh,zybh,ccbh,nj,bjs,kc,zks) values(@xnxqbh,@zybh,@ccbh,@nj,@li_bjs,@ls_kc,@li_zks)
fetch next from cur_1 into @li_bjs,@ls_kc,@li_zks
end
GO
CREATE PROCEDURE jxjh_sczxjxrws
@xnxqbh varchar(5),
@zybh varchar(10),
@ccbh varchar(10),
@nj int
AS
AS之前的这段用于声明调用存储过程时需要传递的参数!每个参数后面必须用逗号分隔。
AS
declare @li_bjs int
declare @ls_kc varchar(100)
declare @li_zks int
AS之后的这段的变量声明用于在程序中使用!
在asp.net页面中调用存储过程(这里是在类中实现的)
public void jxjh_sczxjxrws(string xnxqbh, string zybh, string ccbh, int nj)
...{
jxjh get_conn = new jxjh();
SqlConnection myconn = get_conn.get_conn(); //
SqlCommand mycomm = new SqlCommand("jxjh_sczxjxrws", myconn);
mycomm.CommandType = CommandType.StoredProcedure;
//为存储过程增加参数
mycomm.Parameters.Add("@xnxqbh", SqlDbType.VarChar,5);
mycomm.Parameters.Add("@zybh", SqlDbType.VarChar,10);
mycomm.Parameters.Add("@ccbh",SqlDbType.VarChar,10);
mycomm.Parameters.Add("@nj", SqlDbType.Int);
mycomm.Parameters["@xnxqbh"].Value = xnxqbh;
mycomm.Parameters["@zybh"].Value = zybh;
mycomm.Parameters["@ccbh"].Value = ccbh;
mycomm.Parameters["@nj"].Value = nj;
//打开数据库连接,执行数据库访问命令,并关闭数据库连接
using (myconn)
...{
myconn.Open();
mycomm.ExecuteNonQuery();
mycomm.Dispose();
}
}
CREATE PROCEDURE jxjh_sczxjxrws
@xnxqbh varchar(5),
@zybh varchar(10),
@ccbh varchar(10),
@nj int
AS
declare @li_bjs int
declare @ls_kc varchar(100)
declare @li_zks int
declare cur_1 cursor for select bjs,kc,zks from t_jxjh_ydjxrws where xnxqbh=@xnxqbh and zybh=@zybh and ccbh=@ccbh and nj=@nj --定义游标
open cur_1 --打开游标l
fetch next from cur_1 into @li_bjs,@ls_kc,@li_zks --取第1条记录
while @@fetch_status=0 --循环读取剩余记录
begin
insert into t_jxrws(xnxqbh,zybh,ccbh,nj,bjs,kc,zks) values(@xnxqbh,@zybh,@ccbh,@nj,@li_bjs,@ls_kc,@li_zks)
fetch next from cur_1 into @li_bjs,@ls_kc,@li_zks
end
GO
CREATE PROCEDURE jxjh_sczxjxrws
@xnxqbh varchar(5),
@zybh varchar(10),
@ccbh varchar(10),
@nj int
AS
AS之前的这段用于声明调用存储过程时需要传递的参数!每个参数后面必须用逗号分隔。
AS
declare @li_bjs int
declare @ls_kc varchar(100)
declare @li_zks int
AS之后的这段的变量声明用于在程序中使用!
在asp.net页面中调用存储过程(这里是在类中实现的)
public void jxjh_sczxjxrws(string xnxqbh, string zybh, string ccbh, int nj)
...{
jxjh get_conn = new jxjh();
SqlConnection myconn = get_conn.get_conn(); //
SqlCommand mycomm = new SqlCommand("jxjh_sczxjxrws", myconn);
mycomm.CommandType = CommandType.StoredProcedure;
//为存储过程增加参数
mycomm.Parameters.Add("@xnxqbh", SqlDbType.VarChar,5);
mycomm.Parameters.Add("@zybh", SqlDbType.VarChar,10);
mycomm.Parameters.Add("@ccbh",SqlDbType.VarChar,10);
mycomm.Parameters.Add("@nj", SqlDbType.Int);
mycomm.Parameters["@xnxqbh"].Value = xnxqbh;
mycomm.Parameters["@zybh"].Value = zybh;
mycomm.Parameters["@ccbh"].Value = ccbh;
mycomm.Parameters["@nj"].Value = nj;
//打开数据库连接,执行数据库访问命令,并关闭数据库连接
using (myconn)
...{
myconn.Open();
mycomm.ExecuteNonQuery();
mycomm.Dispose();
}
}
相关文章推荐
- Oracle 存储过程之批量添加数据
- 利用jdbc对数据表进行分页,操作存储过程(有参与无参,返回游标),函数等
- mysql利用存储过程批量插入数据
- Oracle利用存储过程批量insert造数据和分批提交删除的例子
- 【转】利用optimize、存储过程和系统表对mysql数据库表进行批量碎片清理释放表空间
- 利用存储过程批量造数据
- 利用存储过程批量造数据
- 利用存储过程批量生成数据
- 利用存储过程,生成N行数据进行压力测试脚本
- 用NaviCat创建存储过程批量添加测试数据
- Mysql创建用户表并利用存储过程添加100万条随机用户数据
- 利用存储过程进行表数据分离的案例分享
- mysql利用存储过程批量插入数据
- mysql利用存储过程批量插入数据
- NSCoding协议,遵循了NSCoding协议的数据模型,就可以利用归档进行数据存储了
- 利用存储过程导出数据到sql脚本
- ADO.NET之利用存储过程录入数据
- 存储过程进行数据合并导入
- sql清空表数据后重新添加数据存储过程的示例
- SQLServer2005中利用xml类型实现批量操作的存储过程[原]