Tabele temporare oracle - prezentare online

1. tabele temporare Oracle

2. Definiție

• Tabelele temporare sunt concepute pentru stocare
de date în timpul sesiunii sau tranzacției.
O caracteristică distinctivă a acestor tabele este aceea că,






Ele sunt situate în segmente temporare și
datele din aceste tabele sunt stocate numai pentru perioada respectivă
sesiune sau tranzacție, în funcție de
la definirea opțiunii. Ei găsesc larg
Utilizați ca tabel intermediar pentru
calcule, rapoarte și optimizarea interogărilor complexe.
• Pentru a crea tabele temporare, utilizați operatorul
CREAȚI TABELUL TEMPORAR GLOBAL cu tasta
Cuvintele pe comanda COMMIT PRESERVE ROWS (stocare date
pentru durata sesiunii) sau ON COMMIT DELETE ROWS
(stocarea datelor pe durata tranzacției).

3. Exercițiul 1

4. Exercițiul 2

5. Note ...

• Datele din tabelul2 au fost șterse imediat
după finalizarea tranzacției (la
comitează ștergerea rândurilor). distinctiv
caracteristică a tabelului temporar este
că datele din tabele nu sunt numai șterse, ci și
și nu este vizibil din alte sesiuni. Asta este
utilizatorii pot simultan
Utilizați același tabel temporar,
nu trec datele. Acest lucru implică
unele limitări la care lucrați
tabele temporare.

6. Restricții privind mesele temporare

• Nu puteți adăuga chei străine la o cheie temporară
și se referă la ea ca pe un părinte.
• Nu puteți crea indexuri și nu puteți efectua alte DDL-uri
Operatorii după masă au apărut deja
date.
• Tabela temporară nu poate fi
Partiționate sau organizate ca a
index.
• Nu puteți paraleli interogările temporare
tabele.
• Tranzacțiile distribuite nu pot funcționa cu
tabele temporare.

7. Posibilitățile de tabele temporare

• Tabelele temporare pot fi utilizate
reguli de integritate (cu excepția
norme privind integritatea referențială).
• Pot fi însoțite mese temporare
indici.
• Notă: ambele pot fi adăugate
Numai atunci când nu există intrări în tabel
o sesiune sau o tranzacție.

CREAȚI TABLO TEMPORARĂ GLOBALĂ CITY_DEPT
(
DEPTNO NUMBER (2.0),
DNAME VARCHAR2 (14),
CONSTRAINT PK_CITY_DEPT CHEIE PRIMARĂ (DEPTNO)
)
Pe comanda DELETE ROWS;
================================================== ==============
COMENTARIU PENTRU COLUMN CITY_DEPT.DEPTNO IS 'DEPARTMENT NUMBER';
COMENTARIU PENTRU COLUMNUL CITY_DEPT.DNAME ESTE "NAME DEPARTMENT";
• ================================================= ===============






CREATE UNIQUE INDEX IDX_DEPTNO_DNAME ON CITY_DEPT (DEPTNO, DNAME);
CREAȚI INDEXUL IDX_DNAME PE CITY_DEPT (DNAME);
===============================================

9. Folosirea statisticilor la interogarea tabelelor temporare

• Există două tipuri de statistici
aplicată la mesele temporare:
• SESIUNE - nivelul sesiunii de client
• SHARED - împărțit între
sesiuni de clienți

10. SESIUNEA și statistica SHARED

• Statisticile SESSION sunt colectate și utilizate
numai în timpul sesiunii curente a clientului.
• Dacă există două tipuri
(SESSION și SHARED), atunci
optimizatorul va acorda prioritate SESSIONstatistics.
• Statisticile SESSION sunt șterse cât mai curând posibil
sesiunea se încheie.
• Statisticile SHARED sunt stocate după
la sfârșitul sesiunii.

11. Care parametru este responsabil pentru tipul de statistici selectat?

parametru este GLOBAL_TEMP_TABLE_STATS
Cum să știți valoarea sa:
SELECT DBMS_STATS.get_prefs ('GLOBAL_TEMP_TABLE_STATS')
Din dublă;

12. Exercitarea

• Specificați în ORACLE APEX tipul instalat
statistici pentru tabelele temporare.

13. Cum pot schimba tipul de statistici?

• BEGIN
DBMS_STATS.set_global_prefs
(pname => 'GLOBAL_TEMP_TABLE_STATS',
pvalue => "SHARED");
• END;
• /
• BEGIN
DBMS_STATS.set_global_prefs
(pname => 'GLOBAL_TEMP_TABLE_STATS',
pvalue => "SESIUNEA");
• END;
• /
• Notă: aceste operațiuni sunt posibile
Numai dacă aveți privilegiile corespunzătoare!

14. Cum se colectează statistici?

• DBMS_STATS.gather_table_stats ('„“„);
• Notă: apelul pentru collect_table_stats este disponibil în simplu
Utilizatorii APEX

15. Unde pot vedea statisticile colectate?

• DBA_TAB_STATISTICS
• DBA_IND_STATISTICS
• DBA_TAB_HISTOGRAMS
DBA_TAB_COL_STATISTICS
• Puteți urmări dacă este disponibil
suficient de administrativ
privilegiile ...

16. Cum arată întregul ciclu de folosire a tabelelor temporare ca în proceduri și funcții?

• BEGIN
curățăm masa temporară
vom umple masa temporară cu date (de regulă,
agregate)
colectează (SESSION) sau nu colectează statistici (SHARED)
selectați datele din tabelul temporar
• END
• Notă: funcția trebuie să fie
este declarată o tranzacție offline.

17. Exemplu


CREATE TYPE t_tf_row AS OBIECT (număr NUM, descriere VARCHAR2 (50));
/
CREATE TYPE t_tf_tab ESTE TABLE OF t_tf_row;
/
crea sau înlocui funcția get_tab_ptf (p_rows în număr)
întoarcere t_tf_tab pipelined
este PRAGMA AUTONOMOUS_TRANSACTION;
începe
-- curățăm masa temporară
executați imediat ("tabelul de table trunchiat" 1);
-- plasați datele în tabel
pentru i în buclă 1..p_rows
introduceți în tabelul 1 (id, nume) valorile (i, 'Descriere pentru' || i);
bucla finală;
-- colecta statistici
dbms_stats.gather_table_stats ("GRAFEEVA", "TABELUL 1");
-- formați rezultatul
pentru recularea (selectați * din tabelul1)
rândul de țevi (t_tf_row (rec.id, nume_reclamare));
bucla finală;
return;
se încheie;
/
selectați * din tabel (get_tab_ptf (10))

18. Exercițiu (5 puncte) Creați o funcție care transmite rezultatul următorului tip pe baza tabelului EMP (folosiți tabele temporare):

1980
FUNCTIONAR
saleman
MANAGER
PREȘEDINTE
în total,
1981
1982
1983
în total,

19. Temă 13 (10 puncte)

Tabele temporare oracle - prezentare online
on-line

Tabele temporare oracle - prezentare online
Categorii







Articole similare

Trimiteți-le prietenilor: