J'ai une instruction d'insertion de requête comme indiqué ci-dessousautre approche pour la déclaration de cas dans l'oracle
insert into my_table
select col1,col2,CASE
WHEN EXISTS
(SELECT 1 FROM Table_A m WHERE m.COLA='XXX' AND m.id=b.id
)
THEN
(SELECT m.COLB FROM Table_A m WHERE m.COLA='XXX' AND m.id=b.id
)
ELSE 'Not Open'
END XXX,
CASE
WHEN EXISTS
(SELECT 1 FROM Table_A m WHERE m.COLA='YYY' AND m.id=b.id
)
THEN
(SELECT m.COLB FROM Table_A m WHERE m.COLA='YYY' AND m.id=b.id
)
ELSE 'Not Open'
END YYY,
.
.
.
.
. -- ~150 case statement
from Test b,table_main c
where b.id=c.id
Ici, nous avons relevé de cas qui fait référence même table (TABLE_A), mais la vérification des valeurs différentes (XXX, YYY, etc. ..,) dans chaque déclaration. Cela prend tellement de temps. Nous essayons d'optimiser cette requête insert
. Quelqu'un pourrait-il aider ici?
pouvez-vous s'il vous plaît afficher les données de table de l'échantillon? On dirait que vous avez besoin d'une autre table de rejoindre peut-être? – OldProgrammer
Peut-il y avoir plusieurs enregistrements dans Table_A pour la condition m.id = b.id et m.COLA = 'any value'? –