直接貼代碼,下面是例子,假如業務表的結構如下
1行id 需要將對應的 Split字段拆分多行來顯示
------創建一個臨時表--------存儲數據
CREATE TABLE #tab_1
(
id INT,--主ID
name NVARCHAR(20)---拆分出來的每個子ID
)
-------(#B業務表)------循環業務表的所有主ID
DECLARE @i INT=1
DECLARE @q INT=(SELECT MAX(id) FROM #B)
WHILE @i<=@q
BEGIN
-----------循環過程把每個主ID對應的子ID數據,和主ID一起,作爲兩個字段一起插入臨時表
INSERT INTO #tab_1
( id, name )
SELECT
@i,
Value
FROM dbo.plm_liuz_fn_Split1((SELECT Split FROM #b WHERE id=@i),'-')
SET @i=@i+1
END
SELECT * FROM #tab_1
最後的顯示結果就爲:
根據Split的分隔符拆分成多行