-1
我有一個類似於下面格式的文件。如何將數據從一個表格列插入另一個表格
test.txt
1 | ABC | A,B,C,D
我需要一個存儲過程,以逐行爲基礎在細節表中插入記錄。例如
ID Name Type
1 ABC A
1 ABC B
1 ABC C
1 ABC D
是否有可能通過SQL中的存儲過程。任何幫助將不勝感激。提前致謝。
我有一個類似於下面格式的文件。如何將數據從一個表格列插入另一個表格
test.txt
1 | ABC | A,B,C,D
我需要一個存儲過程,以逐行爲基礎在細節表中插入記錄。例如
ID Name Type
1 ABC A
1 ABC B
1 ABC C
1 ABC D
是否有可能通過SQL中的存儲過程。任何幫助將不勝感激。提前致謝。
您可以:
拆分它在你的代碼,然後將其插入
散裝在一個臨時表中插入他們和他們分裂的所有這樣的:
-- SAMPLE Data
declare @data table(id int, name varchar(10), type varchar(100))
insert into @data(id, name, type) values
(1, 'ABCD', 'A, B, C, D')
, (2, 'EFG', 'E, F, G')
, (3, 'HI', 'H, I')
-- Split All Rows and Types
Select ID, Name, ltrim(rtrim(value))
From (
Select *, Cast('<x>'+Replace(d.type,',','</x><x>')+'</x>' As XML) As types
From @data d
) x
Cross Apply (
Select types.x.value('.', 'varchar(10)') as value
From x.types.nodes('x') as types(x)
) c
輸出:
ID Name Type
1 ABCD A
1 ABCD B
1 ABCD C
1 ABCD D
2 EFG E
2 EFG F
2 EFG G
3 HI H
3 HI I