如何使用单个存储过程在sql server2008中的多个表中插入数据? [英] How to use a single stored procedure for data insertion in multiple tables in sql server2008?

查看:89
本文介绍了如何使用单个存储过程在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆