当前位置: 代码迷 >> Sql Server >> 拆分字段插入新表的有关问题,
  详细解决方案

拆分字段插入新表的有关问题,

热度:15   发布时间:2016-04-24 09:24:32.0
拆分字段插入新表的问题,急
我有张A表,A可能实时插入新行,其中有个字段叫它code吧,
这个code字段里包含了只是一组,至多无数组的随机码,每组码以“|”开头,所以有如下可能

code
|adbosdbodao
|naonndsaooda
|nandoac|nononoc|noocnnsa
|mmciscp|oamcid22p
|mimnncodo|nononcomp
|o3ocmipjdpa|mmmmmpmpfe
|mmcdmpdc

现在要把A的code中的所有码插入表B,要求结果如下
adbosdbodao
naonndsaooda
nandoac
nononoc
noocnnsa
mmciscp
oamcid22p
mimnncodo
等待

而且插过的码,不需要插第二次,在不改变两表的结构的情况下能不能实现,实在不行的话可以改变表结构
另由于A的表实时更新,数据量大,需要尽量让所有的语句效率最高



------解决思路----------------------
INSERT INTO B
SELECT T2.v FROM
(SELECT CONVERT(XML,'<v>'+REPLACE(STUFF(code,1,1,''),'
------解决思路----------------------
','</v><v>')+'</v>')codes FROM A)T1
CROSS APPLY(SELECT N.V.value('.','varchar(100)')v FROM T1.codes.nodes('v') N(V))T2
GROUP BY T2.v
  相关解决方案