INSERT ALL
INTO TEST_12(ID, NAME) VALUES(ID, NAME)
SELECT
ID,
NAME
FROM
PROCESS_STEPS
WHERE
NAME IN (
'Pack功能测试(72Hours)',
'Pack功能测试(144Hours)',
'Pack功能测试(216Hours)',
'Pack功能测试(288Hours)',
'Pack功能测试(360Hours)',
'Pack功能测试(432Hours)',
'Pack功能测试(504Hours)',
'Pack功能测试(648Hours)',
'Pack功能测试(792Hours)',
'Pack功能测试(936Hours)',
'Pack功能测试(1008Hours)'
)
AND IS_DELETE = 1
ORDER BY
DECODE(
NAME,
'Pack功能测试(72Hours)', 1,
'Pack功能测试(144Hours)', 2,
'Pack功能测试(216Hours)', 3,
'Pack功能测试(288Hours)', 4,
'Pack功能测试(360Hours)', 5,
'Pack功能测试(432Hours)', 6,
'Pack功能测试(504Hours)', 7,
'Pack功能测试(648Hours)', 8,
'Pack功能测试(792Hours)', 9,
'Pack功能测试(936Hours)', 10,
'Pack功能测试(1008Hours)', 11)
简单对上面代码做个简述:
1.INSERT ALL插入语句,后面跟的查询集,如果你只into了一个,那么就会像循环一样,去多次插入
2.DECODE函数,这是Oracle特有函数,在这里是为了实现查询集能够按照IN查询顺序来进行排序