Hallo,
langsam komme ich ins Zweifeln. Ich arbeite erst seit kurzem mit Oracle, vorher immer nur SQLServer. Dort konnte man ja relativ einfach temporary tables anlegen.
Doch jetzt mein Fall:
Ich habe eine Stored Procedure geschrieben, in der am Anfang eine GLOBAL TEMPORARY TABLE angelegt wird, während der Verarbeitung (Dauer ca. 20 Sekunden) werden Daten in die Temporary Table geschrieben, dort dann später wieder selektiert und am Ende die Daten in eine echte Tabelle schreibt.
Jetzt kann es passieren, dass mehrere User gleichzeitig auf dem Datenbankserver diese Stored Procedure aufrufen. Werden diese Aufrufe nacheinander abgearbeitet oder parallel? Denn dann dürfte es richtig krachen, da die TEMPORARY TABLES bei oracle ja global sind, d.h. für jeden User existent?
Wenn das so ist, müsste ich das umgehen, in dem ich die TEMPORARY TABLES am Anfang anlege und dann sind sie für immer da. Die Stored Procedures können sich dann darauf verlassen, dass die TEMPORARY TABLES existieren. Soweit ich gelesen habe werden zwar die Daten in den TEMPORARY TABLES am Ende der Session gelöscht, aber die TAbelle selbst bleibt bis zum Sankt Nimmerleinstag bestehen, oder wird diese etwa auch gelöscht?
Hat irgendwer nen Tipp oder Hinweis für mich?
Viele Grüße,
Tim
langsam komme ich ins Zweifeln. Ich arbeite erst seit kurzem mit Oracle, vorher immer nur SQLServer. Dort konnte man ja relativ einfach temporary tables anlegen.
Doch jetzt mein Fall:
Ich habe eine Stored Procedure geschrieben, in der am Anfang eine GLOBAL TEMPORARY TABLE angelegt wird, während der Verarbeitung (Dauer ca. 20 Sekunden) werden Daten in die Temporary Table geschrieben, dort dann später wieder selektiert und am Ende die Daten in eine echte Tabelle schreibt.
Jetzt kann es passieren, dass mehrere User gleichzeitig auf dem Datenbankserver diese Stored Procedure aufrufen. Werden diese Aufrufe nacheinander abgearbeitet oder parallel? Denn dann dürfte es richtig krachen, da die TEMPORARY TABLES bei oracle ja global sind, d.h. für jeden User existent?
Wenn das so ist, müsste ich das umgehen, in dem ich die TEMPORARY TABLES am Anfang anlege und dann sind sie für immer da. Die Stored Procedures können sich dann darauf verlassen, dass die TEMPORARY TABLES existieren. Soweit ich gelesen habe werden zwar die Daten in den TEMPORARY TABLES am Ende der Session gelöscht, aber die TAbelle selbst bleibt bis zum Sankt Nimmerleinstag bestehen, oder wird diese etwa auch gelöscht?
Hat irgendwer nen Tipp oder Hinweis für mich?
Viele Grüße,
Tim
Comment