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查詢順序來進行排序