如何将值插入表格,如批量插入?

时间:2012-04-17 11:04:49

标签: mysql sql sql-server-2005

我有像

这样的价值观
  string a,b;
  a= "1,2,3,4";
  b="admin";

我将a和b传递给SP,我希望将其保存在DB中

a   b
1  admin
2  admin
3  admin
4  admin

我该怎么做?有人可以给我一些关于如何做的想法吗? 谢谢..

1 个答案:

答案 0 :(得分: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