当前位置: 代码迷 >> Sql Server >> Sql Server里面的存储过程解决方法
  详细解决方案

Sql Server里面的存储过程解决方法

热度:106   发布时间:2016-04-24 09:03:08.0
Sql Server里面的存储过程
比如说在存储过程里面有三个参数,@ProductName,@ProjectName,@Language
我现在先在存储过程里查询
select ImageID from ImageDataBase where ProductName=@ProductName and @ProjectName and @Language
然后我获取到了一个ImageID集合,应该是一个DataSet
然后循环ImageID集合并且每一个循环做操作
insert into TaskImageTable values(1,ImageID)

求存储过程怎么写,可以的话麻烦写一个简单的实例,谢谢了

------解决思路----------------------
不用循环,数据库的优势就是进行集合操作
insert into TaskImageTable values(1,ImageID)
select ImageID from ImageDataBase where ProductName=@ProductName and @ProjectName and @Language
------解决思路----------------------

可以試一下下面的方法

insert into tablename(fieldname1,fieldname2)
select fieldname1,fieldname2 from tablename2


對於你的示例,可以這樣

insert into TaskImageTable(字段1,字段2)
select 1,ImageID from ImageDataBase where ProductName=@ProductName 
and ProjectName=@ProjectName 
and Language= @Language

------解决思路----------------------
引用:
Quote: 引用:


可以試一下下面的方法

insert into tablename(fieldname1,fieldname2)
select fieldname1,fieldname2 from tablename2


對於你的示例,可以這樣

insert into TaskImageTable(字段1,字段2)
select 1,ImageID from ImageDataBase where ProductName=@ProductName 
and ProjectName=@ProjectName 
and Language= @Language



不是,你们在说什么,你们完全没有理解我的意思,我是说
List<ImageID> list = new List<ImageID>();

list =  select ImageID from ImageDataBase where ProductName=@ProductName 
and ProjectName=@ProjectName 
and Language= @Language

foreach(ImageID item in list)
{
      insert into TaskImageTable(1,item);
}

我要的是这个过程,简直是...

给你的这个方法的运行结果,和你要求的完全一样,而且性能要高很多。
有什么问题么?
或者你直接
select 1, ImageID from ImageDataBase where ProductName=@ProductName 
and ProjectName=@ProjectName 
and Language= @Language
读入到你程序的TaskImageTable中也行。

你的问题需求描述太笼统了。
  相关解决方案