Pep*_*Lew 5 sql database oracle insert
我想通过拆分列值从一列插入多行.但是由于性能问题,我必须在没有游标的情况下这样做.
每个都value被分成6个字符长度值.然后这些值也分成3个,1个和2个字符长度值,以在表B中插入不同的列.
我想提供一个样本将澄清我的问题:
ID Value
1 ABCDEFGHJKLM
2 NOPRST
3 NULL VALUE
Run Code Online (Sandbox Code Playgroud)
我想像这种格式将这些值插入表B中
ID Value1 Value2 Value3
1 ABC D EF
1 GHJ K LM
2 NOP R ST
Run Code Online (Sandbox Code Playgroud)
假设600(100行)作为最大值的长度:
insert into tableB
select id, substr(value,n*6+1,3), substr(value,n*6+4,1), substr(value,n*6+5,2)
from tableA
join (select level-1 as n from dual connect by level <= 100)
on length(value) > n*6;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2988 次 |
| 最近记录: |