T
Tobias Köhler
Hallo
Ich habe 5 Tabellen, die über PK und FK miteinander verknüpft sind. Momentan dauert mein SQL sehr lange, wie kann ich diese optimieren? Es handelt sich speziell um ein Insert(Oracle XE) Wahrscheinlich fehlt mir noch ein Begriff aus SQL, der mir dies wesentlich erleichtert. Am liebsten hätte ich auch alles in einer Abfrage, aber das ist wohl nicht möglich
Bisher meine SQLs:
1.
Die soll allerdings nur eingefügt werden, wenn es nicht bereits schon vorhanden ist
2.
3.
Ich denke mal, die inneren Selects sind sehr zeitraubend, aber wie soll ich sonst an die Foreign Keys kommen? So geht es zwar, aber es dauert eben, und das ist nicht so gut
Ich habe 5 Tabellen, die über PK und FK miteinander verknüpft sind. Momentan dauert mein SQL sehr lange, wie kann ich diese optimieren? Es handelt sich speziell um ein Insert(Oracle XE) Wahrscheinlich fehlt mir noch ein Begriff aus SQL, der mir dies wesentlich erleichtert. Am liebsten hätte ich auch alles in einer Abfrage, aber das ist wohl nicht möglich
Bisher meine SQLs:
1.
Code:
INSERT INTO ERP_ARTICLE(CLASS_ID, ORDER_NR, NOTATION, ARTICLE_TYPE) VALUES (1, 0000, 'bla', 'DG')
2.
Code:
INSERT INTO ERP_DG_LOT (ARTICLE_ID, DG_LOT_NAME) VALUES ((SELECT ARTICLE_ID FROM ERP_ARTICLE WHERE NOTATION='bla'), 'K070608DF')
3.
Code:
INSERT INTO ERP_DG_PRODUCTION (DG_LOT_ID, DG_FORMAT_ID, DG_PROD_DATE, DG_COUNT, DG_RELEASE, DG_AREA) VALUES ((SELECT MAX(DG_LOT_ID) FROM ERP_DG_LOT), (SELECT DG_FORMAT_ID FROM ERP_DG_FORMAT WHERE X=100 AND Y=40), 'K070608', 523, 'f', 186458)
Ich denke mal, die inneren Selects sind sehr zeitraubend, aber wie soll ich sonst an die Foreign Keys kommen? So geht es zwar, aber es dauert eben, und das ist nicht so gut