将多个不同的值拆分并插入到不同的行中

时间:2015-06-03 11:19:42

标签: split sql-server-2008-r2

我需要一次获取多个值来创建不同的记录。

我的页面上有两个文本框输入。第一个是“组号”,第二个是“项目”。组号文本值分配给@GroupNo参数。

我从“Items”多行文本框中取一个或多个值,将“\ r \ n”分隔符替换为“,”。此字符串分配给@No参数。

我的休息假代码如下;

    Let a,b,c,d be our items, a.k.a the @No parameter.

        (LEN(@No)-LEN(REPLACE(@No,',','')))+1=@x 
    //For determining how many records are in the @No string ı'm counting the number of 
       commas and adding 1 to the result. 
    //@X represents the count of records from input.

        DECLARE @cnt INT = 0;
        WHILE @cnt<@x
        BEGIN
        --->Insert Statement<----
        END

现在,我一直坚持如何创建插入声明。

Demo向我展示了我以前不知道的东西,但我仍然不知道如何插入所有不同的记录。每个记录的GroupNo都是相同的,因为它们属于同一组,但休息对我来说只是混乱。

此外,我对我的代码或方法的任何改进都非常开放。

编辑:使用表值参数有很多帮助。我设法用这个

做我想做的事
INSERT INTO Z (GroupNo,No)
SELECT 
@GroupNo,
Item FROM fn_SplitString('12345678,23456781,345678123,456781234',',')

0 个答案:

没有答案