Analisis urutan Oracle SEQUENCE
Artikel ini membawa anda pengetahuan yang berkaitan tentang Oracle, dan menerangkan urutan dalam Oracle secara terperinci Artikel memperkenalkannya secara terperinci melalui kod sampel. Ia mempunyai nilai rujukan tertentu untuk kajian atau kerja semua orang, dan saya harap ia akan membantu semua orang.
Tutorial yang disyorkan: "Tutorial Video Oracle"
1 Pengenalan Urutan
Jujukan Oracle ialah A objek pangkalan data yang fungsi utamanya adalah untuk menjana nilai unik. Selepas jujukan dibuat, objek jujukan boleh ditemui melalui kamus data, jadi jujukan boleh dikongsi oleh berbilang objek.
2. Cipta jujukan
Jurutan dibuat menggunakan sintaks CREATE SEQUENCE:
CREATE SEQUENCE sequence [INCREMENT BY n] [START WITH n] [{MAXVALUE n | NOMAXVALUE}] [{MINVALUE n | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE n | NOCACHE}];
- NCREMENT BY: digunakan untuk menentukan saiz langkah bagi jujukan, jika diabaikan, Lalai ialah 1. Jika nilai negatif, ini bermakna nilai jujukan semakin berkurangan.
- MULAKAN DENGAN: Mentakrifkan nilai awal jujukan (iaitu nilai pertama yang dijana), lalainya ialah 1.
- MAXVALUE: Mentakrifkan nilai maksimum yang boleh dijana oleh jujukan. NOMAXVALUE ialah pilihan lalai, yang bermaksud tiada nilai maksimum Pada masa ini, untuk jujukan yang meningkat, nilai maksimum yang boleh dihasilkan oleh sistem ialah 10 hingga kuasa ke-27, nilai maksimum ialah -1.
- MINVALUE: Mentakrifkan nilai minimum yang boleh dijana oleh jujukan. NOMINVALUE ialah pilihan lalai, yang bermaksud tiada nilai minimum Pada masa ini, untuk jujukan menurun, nilai minimum yang boleh dihasilkan oleh sistem ialah negatif 10 hingga kuasa ke-26, nilai minimum ialah 1.
- CYCLE dan NOCYCLE: Nyatakan sama ada untuk menggelung apabila nilai penjana jujukan mencapai had. Jika gelung, apabila jujukan meningkat mencapai nilai maksimum, ia gelung ke nilai minimum untuk jujukan menurun, apabila ia mencapai nilai minimum, ia gelung ke nilai maksimum. Jika anda tidak gelung, selepas mencapai nilai had, ralat akan berlaku jika anda terus menjana nilai baharu.
- CACHE: Mentakrifkan saiz blok memori untuk menyimpan jujukan, lalainya ialah 20. NOCACHE bermaksud tiada penimbalan memori bagi jujukan. Penimbalan memori jujukan boleh meningkatkan prestasi jujukan.
Contohnya:
CREATE SEQUENCE invoice_seq INCREMENT BY 1 START WITH 1 MAXVALUE 9999999 NOCYCLE NOCACHE;
3 Urutan pertanyaan
Setelah jujukan dibuat, kod penciptaan jujukan ditekskan dalam kamus data dan boleh dijadikan ditemui dalam Seperti yang dilihat dalam kamus data objek_pengguna, seperti:
SELECT object_name,object_id,object_type FROM user_objects WHERE object_name = 'INVOICE_SEQ';
Butiran jujukan disimpan dalam jadual jujukan pengguna:
SELECT sequence_name, min_value, max_value, increment_by, last_number FROM user_sequences;
4. Gunakan jujukan
NEXTVAL dan lajur Pseudo CURRVAL
- NEXTVAL: Mengembalikan nilai jujukan yang tersedia seterusnya setiap kali, walaupun untuk pengguna yang berbeza. Apabila menggunakan sequence.NEXTVAL, nombor jujukan baharu dijana dan nombor jujukan semasa dimasukkan ke dalam CURRVAL.
- CURRVAL: Dapatkan nilai jujukan semasa. Jika anda menggunakan CURRVAL sebelum menggunakan NEXTVAL buat kali pertama, ralat akan dilaporkan.
digunakan seperti berikut:
SELECT invoice_seq.CURRVAL,invoice_seq.NEXTVAL FROM DUAL; INSERT INTO invoice (invoice_id, vendor_id, invoice_number, invoice_total ) VALUES (invoice_seq.NEXTVAL, 10, 'INV' || invoice_seq.CURRVAL, 100 );
NEXTVAL dan CURRVAL boleh digunakan dalam konteks berikut:
- ialah bukan subkueri Senarai medan yang merupakan sebahagian daripada pernyataan SELECT.
- Senarai PILIH subquery dalam pernyataan INSERT.
- Klausa NILAI dalam pernyataan INSERT.
- Klausa SET dalam kenyataan UPDATE.
NEXTVAL dan CURRVAL tidak boleh digunakan dalam konteks berikut:
- PILIH senarai paparan.
- PILIH pernyataan dengan DISTINCT.
- PILIH pernyataan dengan klausa GROUP BY, HAVING atau ORDER BY. Klausa
- dalam pernyataan SELECT, DELETE atau UPDATE.
- Ungkapan lalai dalam kenyataan CREATE TABLE atau ALTER TABLE.
Juga ambil perhatian bahawa ROLLBACK tidak melancarkan kembali nilai jujukan.
5. Ubah suai urutan
Contohnya:
ALTER SEQUENCE invoice_seq INCREMENT BY 2 MAXVALUE 10 NOCACHE NOCYCLE;
Apabila mengubah suai jujukan, terdapat sekatan berikut:
- Ini jujukan tidak boleh digunakan nilai permulaan.
- Nilai minimum tidak boleh lebih besar daripada nilai semasa.
- Nilai maksimum tidak boleh kurang daripada nilai semasa.
- Peraturan jujukan yang diubah suai tidak akan menjejaskan nilai jujukan sebelumnya, hanya nilai jujukan akan datang akan terjejas.
- Pengguna mesti mempunyai kebenaran ALTER SEQUENCE.
6. Padamkan jujukan
DROP SEQUENCE invoice_seq;
7. Buat jujukan auto-meningkat
1 Buat jujukan
create sequence sq_recid minvalue 1 maxvalue 999999 increment by 1 start with 1 noCYCLE;
2 . Buat pencetus
create or replace trigger trg_test before insert on test for each row begin select sq_recid.nextval into :new.ID from dual; end; alter trigger trg_test enable;
3. Dalam C#, anda juga boleh memasukkan urutan secara manual ke dalam jadual
string sql="insert into test(ID,otherCol)value (Sql_recid.nextval,***) retuing ID into :ID"
Tutorial yang disyorkan: "Tutorial Video Oracle"
Atas ialah kandungan terperinci Analisis urutan Oracle SEQUENCE. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Untuk menanyakan saiz ruang meja oracle, ikuti langkah -langkah berikut: Tentukan nama meja dengan menjalankan pertanyaan: pilih Tablespace_Name dari DBA_TableSpaces; Tanya saiz meja dengan menjalankan pertanyaan: pilih jumlah (bait) sebagai total_size, jumlah (bytes_free) sebagai tersedia_space, jumlah (bytes) - jumlah (bytes_free) sebagai digunakan_space dari dba_data_files di mana tablespace_

Penyulitan Oracle View membolehkan anda menyulitkan data dalam pandangan, dengan itu meningkatkan keselamatan maklumat sensitif. Langkah -langkah termasuk: 1) mewujudkan kunci penyulitan induk (MEK); 2) mencipta pandangan yang disulitkan, menyatakan pandangan dan MEK untuk disulitkan; 3) Memberi kuasa pengguna untuk mengakses pandangan yang disulitkan. Bagaimana pandangan yang disulitkan berfungsi: Apabila permintaan pengguna untuk paparan yang disulitkan, Oracle menggunakan MEK untuk menyahsulit data, memastikan bahawa hanya pengguna yang diberi kuasa dapat mengakses data yang boleh dibaca.

Kaedah Import Data: 1. Gunakan utiliti SQLLoader: Sediakan fail data, buat fail kawalan, dan jalankan SQLLoader; 2. Gunakan alat IMP/EXP: data eksport, data import. Petua: 1. Disyorkan SQL*loader untuk set data besar; 2. Jadual sasaran harus wujud dan perlawanan definisi lajur; 3. Selepas mengimport, integriti data perlu disahkan.

Terdapat tiga cara untuk melihat nama contoh di Oracle: Gunakan "sqlplus" dan "pilih instance_name dari v $ instance;" Perintah pada baris arahan. Gunakan "pertunjukan instance_name;" Perintah dalam SQL*Plus. Semak Pembolehubah Alam Sekitar (ORACLE_SID pada Linux) melalui Pengurus Tugas Sistem Operasi, Pengurus Oracle Enterprise, atau melalui sistem operasi.

Nyahpasang Kaedah untuk kegagalan pemasangan Oracle: Tutup Perkhidmatan Oracle, Padam Fail Program Oracle dan Kekunci Pendaftaran, Nyahpasang pembolehubah persekitaran Oracle, dan mulakan semula komputer. Jika penyahpasang gagal, anda boleh menyahpasang secara manual menggunakan alat penyahpasang Oracle Universal.

Terdapat kaedah berikut untuk mendapatkan masa di Oracle: Current_TimeStamp: Mengembalikan masa sistem semasa, tepat untuk beberapa saat. SystimeStamp: Lebih tepat daripada Current_TimeStamp, kepada nanodekonda. SYSDATE: Mengembalikan tarikh sistem semasa, tidak termasuk bahagian masa. To_char (sysdate, 'yyy-mm-dd hh24: mi: ss'): Menukar tarikh dan masa sistem semasa ke format tertentu. Ekstrak: Ekstrak bahagian tertentu dari nilai masa, seperti tahun, bulan, atau jam.

Kenyataan SQL boleh dibuat dan dilaksanakan berdasarkan input runtime dengan menggunakan SQL dinamik Oracle. Langkah -langkah termasuk: menyediakan pemboleh ubah rentetan kosong untuk menyimpan penyataan SQL yang dihasilkan secara dinamik. Gunakan pernyataan melaksanakan segera atau sediakan untuk menyusun dan melaksanakan pernyataan SQL dinamik. Gunakan pembolehubah bind untuk lulus input pengguna atau nilai dinamik lain ke SQL dinamik. Gunakan melaksanakan segera atau laksanakan untuk melaksanakan pernyataan SQL yang dinamik.

Laporan AWR adalah laporan yang memaparkan prestasi pangkalan data dan snapshot aktiviti. Langkah -langkah tafsiran termasuk: mengenal pasti tarikh dan masa snapshot aktiviti. Lihat gambaran keseluruhan aktiviti dan penggunaan sumber. Menganalisis aktiviti sesi untuk mencari jenis sesi, penggunaan sumber, dan acara menunggu. Cari kemunculan prestasi yang berpotensi seperti pernyataan SQL yang perlahan, perbalahan sumber, dan isu I/O. Lihat acara menunggu, mengenal pasti dan menyelesaikannya untuk prestasi. Menganalisis corak penggunaan selak dan memori untuk mengenal pasti isu memori yang menyebabkan masalah prestasi.
