像批量插入一样将值插入表中 [英] insert values into table like Bulk Insert

查看:59
本文介绍了像批量插入一样将值插入表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我有像
这样的价值观

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆