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

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

4

1 回答 1

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
于 2012-04-17T11:06:32.777 回答