Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Membuat Tabel Sementara Global di Oracle

-Oracle memungkinkan kita  membuat tabel sementara .

-Definisi tabel sementara dapat dilihat oleh semua sesi, tetapi data dalam tabel sementara hanya dapat dilihat oleh sesi yang memasukkan data ke dalam tabel.

-Kita harus menggunakan pernyataan CREATE GLOBAL TEMPORARY TABLE untuk membuat tabel sementara.

-Klausul ON COMMIT menunjukkan apakah data dalam tabel adalah khusus transaksi (default) atau khusus sesi

HAPUS BARIS

Ini membuat tabel sementara yang spesifik untuk transaksi. Sesi menjadi terikat ke tabel sementara dengan transaksi pertama kali dimasukkan ke dalam tabel. Pengikatan akan hilang pada akhir transaksi. Basis data memotong tabel (menghapus semua baris) setelah setiap komit.

MEMELIHARA BARIS

Ini membuat tabel sementara yang khusus untuk sesi. Sesi terikat ke tabel sementara dengan sisipan pertama ke dalam tabel di sesi. Pengikatan ini hilang di akhir sesi atau dengan mengeluarkan TRUNCATE tabel dalam sesi. Basis data memotong tabel saat Anda mengakhiri sesi.

Tabel sementara berguna dalam aplikasi di mana kumpulan hasil akan di-buffer, mungkin karena dibuat dengan menjalankan beberapa operasi DML

BUAT TABEL SEMENTARA GLOBAL GL_DATA_TEMP
(tanggal mulai,
tanggal akhir,
gl_id CHAR(20))
ON COMMIT DELETE ROWS;

Indeks dapat dibuat pada tabel sementara . Mereka juga bersifat sementara dan data dalam indeks memiliki sesi atau cakupan transaksi yang sama dengan data di tabel yang mendasarinya..

Jika pernyataan TRUNCATE dikeluarkan terhadap tabel sementara, hanya data khusus sesi yang terpotong. Tidak ada efek pada data sesi lain.

Jika Anda mengembalikan transaksi, data yang Anda masukkan akan hilang, meskipun definisi tabel tetap ada.

Data dalam tabel sementara disimpan di segmen temp di tablespace temp yang tidak menghasilkan pengulangan apa pun sehingga operasi menggunakan tabel sementara global relatif lebih cepat. Tapi undo masih dihasilkan di undo tablespace yang memiliki redo logging. Jadi operasi redo tidak sepenuhnya dihilangkan dalam tabel sementara Global tetapi mereka relatif lebih rendah

Data dalam tabel sementara secara otomatis dihapus pada akhir sesi database, meskipun berakhir secara tidak normal.

Tampilan dapat dibuat terhadap tabel sementara dan kombinasi tabel sementara dan permanen. Mereka dapat memiliki pemicu yang terkait dengannya

Dengan rilis Oracle 12.1(12c database), konsep undo sementara telah diperkenalkan yang memungkinkan segmen undo untuk tabel sementara global disimpan di tablespace sementara. Hal ini memungkinkan tabel sementara global untuk digunakan dalam database standby fisik dan database read-only, serta menghilangkan kebutuhan untuk membuat redo.

ALTER SYSTEM SET TEMP_UNDO_ENABLED =TRUE;
ALTER SYSTEM SET TEMP_UNDO_ENABLED =FALSE;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Linq to Entities Group By (OUTER BERLAKU) oracle 11.2.0.3.0 tidak mendukung berlaku

  2. UPDATE dengan CASE dan IN - Oracle

  3. ini kesalahan ORA-12154:TNS:tidak dapat menyelesaikan pengidentifikasi koneksi yang ditentukan?

  4. BEGIN - AKHIR transaksi blok atom di PL/SQL

  5. cara yang efisien untuk menguji apakah ada baris tabel