Jadual Kandungan
1 Pengenalan Urutan
2. Cipta jujukan
3 Urutan pertanyaan
4. Gunakan jujukan
NEXTVAL dan lajur Pseudo CURRVAL
5. Ubah suai urutan
6. Padamkan jujukan
7. Buat jujukan auto-meningkat
Rumah pangkalan data Oracle Analisis urutan Oracle SEQUENCE

Analisis urutan Oracle SEQUENCE

Jul 28, 2022 pm 03:49 PM
oracle

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.

Analisis urutan Oracle SEQUENCE

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}];
Salin selepas log masuk
  • 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;
Salin selepas log masuk

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';
Salin selepas log masuk

Butiran jujukan disimpan dalam jadual jujukan pengguna:

SELECT sequence_name, min_value, max_value, increment_by, last_number  FROM user_sequences;
Salin selepas log masuk

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  );
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

7. Buat jujukan auto-meningkat

1 Buat jujukan

create sequence sq_recid 
minvalue 1 maxvalue 999999  increment by 1   start with 1 noCYCLE;
Salin selepas log masuk

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;
Salin selepas log masuk

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"
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memeriksa saiz meja oracle Cara memeriksa saiz meja oracle Apr 11, 2025 pm 08:15 PM

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_

Cara menyulitkan pandangan oracle Cara menyulitkan pandangan oracle Apr 11, 2025 pm 08:30 PM

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.

Cara mengimport pangkalan data oracle Cara mengimport pangkalan data oracle Apr 11, 2025 pm 08:06 PM

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.

Cara melihat contoh nama oracle Cara melihat contoh nama oracle Apr 11, 2025 pm 08:18 PM

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.

Cara menyahpasang pemasangan Oracle gagal Cara menyahpasang pemasangan Oracle gagal Apr 11, 2025 pm 08:24 PM

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.

Cara Mendapatkan Masa di Oracle Cara Mendapatkan Masa di Oracle Apr 11, 2025 pm 08:09 PM

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.

Cara membuat Oracle Dynamic SQL Cara membuat Oracle Dynamic SQL Apr 12, 2025 am 06:06 AM

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.

Cara Membaca Laporan Oracle AWR Cara Membaca Laporan Oracle AWR Apr 11, 2025 pm 09:45 PM

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.

See all articles