如何使用单个存储过程在sql server2008中的多个表中插入数据? [英] How to use a single stored procedure for data insertion in multiple tables in sql server2008?
本文介绍了如何使用单个存储过程在sql server2008中的多个表中插入数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
亲爱的,
假设我有很多表,我想在每个表中插入数据。那么,如何使用单个存储过程在每个表中插入数据,而不是为每个表使用一个存储过程?每次我的表名和参数都会有所不同。如果可能的话,请给我一些关于如何做到这一点的基本想法。如果需要任何额外信息,请询问。
谢谢和问候,
Rizwan Gazi。
解决方案
这很简单。创建一个单独的程序并包含你单独的插入查询
例如:
创建 procedure procedurename
@ parameter1 bigint = 0,
@ parameter2 nvarchar (max)= null ,
@ parameter3 nvarchar (max)= null ,
@输入 int
as
开始
if (@ type = 1)
insert query
else if (@ type = 2)
另一个 insert query
- - 等等
end
并在前端,提及您的查询号码想要执行
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = Procedurename;
cmd.Parameters.Add( new SqlParameter( @parametername,SqlDbType.VarChar, 50 ));
cmd.Parameters [ @ type]。Value = 1 ; // 查询号
Dear all,
Suppose I have many tables and I want to insert data in every table. So, how can I use a single stored procedure to insert data in every table, instead of using one stored procedure for each table? Every time my table name and parameters will vary. If its possible, then please give me some basic idea about how to do this. If any extra information required, please ask.
Thanks and regards,
Rizwan Gazi.
解决方案
It's pretty simple.Create a single procedure and include your separate insert query
For eg:
Create procedure procedurename @parameter1 bigint =0 , @parameter2 nvarchar(max)= null, @parameter3 nvarchar(max) = null, @type int as begin if(@type=1) insert query else if(@type=2) another insert query ----and so on end
and in the front end, mention the query no which you want to execute
cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "Procedurename"; cmd.Parameters.Add(new SqlParameter("@parametername", SqlDbType.VarChar, 50)); cmd.Parameters["@type"].Value = 1;//query no
这篇关于如何使用单个存储过程在sql server2008中的多个表中插入数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文