日期:2014-05-17  浏览次数:20798 次

SQL实现,求助了!大牛们
我有一个参数是  1,2,3,4,5,6,

我需要实现的是:里面有6个值需要插入 insert into a1(pid,name) values(@pid,@name)

当前是有留个值,需要循环插入每一个值, pid 就是 1,2,3,4,5,6,

注意,最后还有一个逗号啊。

求助啊!只能使用sql来现实
------解决方案--------------------
 string str="1,2,3,4,5,6,";
        string[] value=str.Split(',');
        foreach(string id in value){
            if(id!=""){
            
            //执行SQL语句 id就是要插入的id值
            }

        }
------解决方案--------------------
纯SQL实现:
 1、将参数插入1个临时表
Create Table #Temp(F1 int)
Insert into  Temp values(1);Insert into  Temp values(2)...
 2、游标循环拼接SQL
declare @txt varchar(max),@params int
DECLARE MyAuthors CURSOR FOR SELECT F1 From Temp
Open MyAuthors
FETCH NEXT FROM MyAuthors Into @params 
WHILE @@FETCH_STATUS = 0
BEGIN
  set @txt=@txt+'insert into a1(pid,name) values('+@params+',@name);'
  FETCH NEXT FROM MyAuthors Into @params 
End
CLOSE MyAuthors 
DEALLOCATE MyAuthors 
3、执行sql
exec (@txt)
------解决方案--------------------
如果是循环插入有规律的值还好~~

自己看吧http://zhidao.baidu.com/question/107647077.html

其实我是菜鸟~~~
  哦也  一边查一边帮忙的 。嘿嘿