Oracle Temp Table létrehozása

Oracle Temp Table Letrehozasa



A globális ideiglenes táblák akkor hasznosak, ha ideiglenes adatokat tárolnak, amelyek csak egy tranzakció vagy munkamenet időtartamához szükségesek. A normál táblákkal ellentétben a globális ideiglenes táblákat a rendszer automatikusan eldobja, amikor a munkamenet vagy a tranzakció véget ér. Tehát nem kell kifejezetten eldobni őket, mint a normál táblázatokat. A globális ideiglenes táblák azonban csak az aktuális munkamenet számára láthatók, így más munkamenetek vagy felhasználók nem férhetnek hozzájuk.

Az Oracle-ben a globális ideiglenes tábla egy speciális táblatípus, amelyet a „globális ideiglenes tábla létrehozása” utasítással hoznak létre. Ez az utasítás hasonlít a szokásos „tábla létrehozása” utasításhoz, de tartalmazza a „global ideiglenes” kulcsszót, amely megadja, hogy a tábla globális ideiglenes tábla.







A „CREATE GLOBAL TEMPORARY TABLE” utasítás szintaxisa a következő:



GLOBÁLIS IDEIGLENES TÁBLÁZAT LÉTREHOZÁSA táblanév (
oszlop1 adattípus [NULL | NEM NULLA],
oszlop2 adattípus [NULL | NEM NULLA],
...
) [ON COMMIT {TÖRLÉS | PRESERVE} ROWS];

Ebben a szintaxisban a táblázat_neve a létrehozni kívánt globális ideiglenes tábla neve. oszlop1, oszlop2 stb. a táblázat oszlopainak nevei és adattípusai.



Az ON COMMIT záradék határozza meg, hogy a tábla sorai törlődnek vagy megmaradnak-e az aktuális tranzakció véglegesítésekor. Az adatbázismotor az ON COMMIT DELETE ROWS opciót használja, ha az ON COMMIT záradék nincs megadva.





Amint már említettük, ne feledje, hogy az ideiglenes táblában lévő adatok privátak. Ez azt jelenti, hogy a táblát létrehozókon kívül más munkamenetek nem férhetnek hozzá.

Példa globális ideiglenes táblázat létrehozására

Nézzünk meg néhány gyakorlati példát az ideiglenes tábla létrehozása utasítás használatára az Oracle adatbázisokban.



Tekintsük az alábbi példalekérdezést:

GLOBÁLIS IDEIGLENES TÁBLÁZAT LÉTREHOZÁSA temp_sales (
product_id NUMBER(10) NEM NULL,
sale_date DATE NOT NULL,
eladási_összeg SZÁM(10,2) NEM NULL
) ON COMMIT SOROK TÖRLÉSE;

A fenti példában létrehozunk egy ideiglenes táblát az ON COMMIT DELETE ROWS opcióval.

Ezután beszúrhatunk néhány mintaadatot:

INSERT INTO TEMP_SALES (product_id, sale_date, sale_amount) ÉRTÉKEK (1, DÁTUM '2022-10-01', 100);
INSERT INTO TEMP_SALES (product_id, sale_date, sale_amount) ÉRTÉKEK (2, DÁTUM '2022-10-02', 500);
INSERT INTO TEMP_SALES (product_id, sale_date, sale_amount) ÉRTÉKEK (3, DÁTUM '2022-10-03', 130);

Ezt követően a tranzakciót a következőképpen hajthatja végre:

ELKÖVETNI;

A véglegesítés után az adatbázismotor az ideiglenes tábla összes adatát a véglegesítési záradékban meghatározottak szerint csonkolja.

2. példa

A következő példa bemutatja, hogyan lehet létrehozni egy táblát, amely megőrzi a sorokat a véglegesítéskor:

GLOBÁLIS IDEIGLENES TÁBLÁZAT LÉTREHOZÁSA temp_sales (
product_id NUMBER(10) NEM NULL,
sale_date DATE NOT NULL,
eladási_összeg SZÁM(10,2) NEM NULL
) A PRESERVE SOROK ELKÖTELEZÉSÉRE ;

Ezután mintasorokat adhatunk hozzá, és a képen látható módon véglegesíthetjük:

INSERT INTO TEMP_SALES (product_id, sale_date, sale_amount) ÉRTÉKEK (1, DÁTUM '2022-10-01', 100);
INSERT INTO TEMP_SALES (product_id, sale_date, sale_amount) ÉRTÉKEK (2, DÁTUM '2022-10-02', 500);
INSERT INTO TEMP_SALES (product_id, sale_date, sale_amount) ÉRTÉKEK (3, DÁTUM '2022-10-03', 130);

ELKÖVETNI;

Ebben az esetben az adatokat a véglegesítési művelet után meg kell őrizni, amint azt az alábbi select utasítás mutatja:

SELECT * FROM TEMP_SALES;

Kimenet:

Következtetés

Az „ideiglenes tábla létrehozása” utasítás hatékony eszköz ideiglenes táblák létrehozására az Oracle-ben. Az ideiglenes táblák csak egy tranzakcióhoz vagy munkamenethez szükséges ideiglenes adatok tárolására használhatók. Az „ideiglenes tábla létrehozása” utasítás lehetővé teszi az ideiglenes tábla szerkezetének és oszlopainak meghatározását, valamint a sorok kezelésének módját a tranzakció véglegesítésekor. Ennek eredményeként az ideiglenes táblák használata javíthatja a lekérdezések és alkalmazások teljesítményét és hatékonyságát, valamint csökkentheti az adatbázisban szükséges állandó tárterület mennyiségét.