Je cours une requête dans Oracle avec CTE. Quand je exécuter la requête, il fonctionne très bien dans l'instruction select, mais quand je l'utilise INSERT prend suffisamment de temps pour execute.Any l'aide ici est le codeCTE avec insertion dans Oracle
INSERT INTO port_weeklydailypricesTest (co_code,start_dtm,end_dtm)
SELECT * FROM
(
WITH CTE(co_code, start_dtm, end_dtm) AS
(
SELECT co_code ,
CAST(NEXT_DAY(MIN(dlyprice_date),'FRIDAY')-6 AS DATE) start_dtm ,
CAST(NEXT_DAY(MIN(dlyprice_date),'FRIDAY') AS DATE) end_dtm
FROM feed_dlyprice
GROUP BY co_code
UNION ALL
SELECT co_code ,
CAST(TO_CHAR(end_dtm + INTERVAL '1' DAY,'DD-MON-YYYY') AS DATE),
CAST(TO_CHAR(end_dtm + INTERVAL '7' DAY,'DD-MON-YYYY') AS DATE)
FROM CTE
WHERE CAST(end_dtm AS DATE) <= TO_CHAR(TO_DATE(SYSDATE+1,'DD-MON-YYYY'))
)
SELECT co_code,start_dtm,end_dtm
FROM CTE
);
Veuillez utiliser la mise en forme de code fournie (je l'ai fait pour vous cette fois). –
Pourquoi insérer les enregistrements du tout - Pourquoi ne pas utiliser une vue? –