我正在通過以下參數來我的存儲過程 -分隔參數拆分逗號被傳遞到存儲過程在SQL Server 2008 R2
@AddOns = 23:2,33:1,13:5
我需要以此來分裂由逗號字符串 -
SET @Addons = @Addons + ','
set @pos = 0
set @len - 0
While CHARINDEX(',', @Addons, @pos+1)>0
Begin
SET @len = CHARINDEX(','), @Addons, @pos+1) - @pos
SET @value = SUBSTRING(@Addons, @pos, @len)
所以現在@value = 23:2我需要得到23這是我的ID和2這是我的數量。這裏是我的代碼的其餘部分 -
INSERT INTO TABLE(ID, Qty)
VALUES(@ID, @QTY)
set @pos = CHARINDEX(',', @Addons, @[email protected]) + 1
END
那麼,什麼是讓在不同的領域對我們的INSERT
聲明的23和2的值的最佳方式?
難道沒有一種簡單的方法來獲得23在一個變量和2在另一個變量?有點像分裂,所以SET @Result = Split(request(@value),「:」),然後@Result(0)等於23,@Result(1)等於2 – Dwight
你建議結果存儲在看起來像一個數組。我不認爲這是可能的;至少不在SQL Server中。如果是這樣,我很確定谷歌搜索會找到你想要的。 – nscheaffer
我想你是對的。這不能以我想要的方式在SQL中完成。 – Dwight