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 に答える