像批量插入一样将值插入表中 [英] insert values into table like Bulk Insert
本文介绍了像批量插入一样将值插入表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
我有像
这样的价值观
Hi all,
I am having Values like
string a,b;
a= "1,2,3,4";
b="admin";
我将a和b传递给SP,我想保存在数据库中,例如
I am passing a and b to SP and I want to save in DB like
a b
1 admin
2 admin
3 admin
4 admin
how can we do it?
推荐答案
SQL没有数组的概念,因此有点儿麻烦.
将列表作为字符串参数传递:
SQL doesn''t have a concept of arrays, so this gets a bit fiddly.
Pass a list as a string parameter:
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
这篇关于像批量插入一样将值插入表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文