2012-04-17 68 views
0

我有这样如何在大容量插入表中插入值?

string a,b; 
    a= "1,2,3,4"; 
    b="admin"; 

我传递a和b SP值,我想它保存在DB像

a b 
1 admin 
2 admin 
3 admin 
4 admin 

我怎样才能做到这一点?有人能给我一些关于如何去做的想法吗? 谢谢..

回答

0

SQL没有数组的概念,所以这有点儿有趣。 传递一个列表作为字符串参数:

DECLARE @INSTR as VARCHAR(MAX) 
SET @INSTR = '2,3,177,' 
DECLARE @SEPERATOR as VARCHAR(1) 
DECLARE @SP INT 
DECLARE @VALUE VARCHAR(1000) 
SET @SEPERATOR = ',' 
WHILE PATINDEX('%' + @SEPERATOR + '%', @INSTR) <> 0 
BEGIN 
    SELECT @SP = PATINDEX('%' + @SEPERATOR + '%',@INSTR) 
    SELECT @VALUE = LEFT(@INSTR , @SP - 1) 
    SELECT @INSTR = STUFF(@INSTR, 1, @SP, '') 
    INSERT INTO myTable (a, b) VALUES (@VALUE, 'admin') 
END