Kas yra seka?
Seka yra duomenų bazės objektas, kuris automatiškai sukuria padidintą skaitinių verčių sąrašą pagal taisyklę, kaip nurodyta sekos specifikacijoje.
Pavyzdžiui, norėdami automatiškai įterpti darbuotojo numerį į lentelės stulpelį (EMPLOYEE_NO), kai į lentelę įterpiamas naujas įrašas, tada mes naudojame seką.
Sekos vertės generuojamos didėjimo arba mažėjimo tvarka.
Sekos nėra susietos su lentelėmis; juos naudoja programa. Yra dvi eilės vertės -
- CURRVAL - pateikite dabartinę sekos vertę.
- NEXTVAL - pateikite sekančios sekos vertę.
Sintaksė
SUKURTI SEKSN <[ ] [NUSTATYTI PAGAL ]
Sintaksės elementai
ELEMENTAI | APIBŪDINIMAS |
---|---|
| Tai sekos pavadinimas. |
[
| Jame nurodomas vienas ar daugiau sekos parametrų. |
PRADĖKITE
| Jis apibūdina pradinės sekos vertę. |
ĮSKAIČIAVIMAS
| Tai nurodo vertę, kuri turi būti padidinta nuo paskutinės priskirtos vertės kiekvienam kartui, kai sugeneruojama nauja sekos vertė. Numatytasis nustatymas yra 1. |
MAXVALUE | Tai nurodo didžiausią vertę, kurią gali sukurti seka. |
NĖRA MAXVALUE | Kai nurodoma NO MAXVALUE, didėjančiai sekai didžiausia vertė bus 4611686018427387903, o mažiausia mažėjančios sekos vertė bus -1. |
MINVALUE | Jis nurodo mažiausią vertę, kurią gali sukurti seka. |
CIKLAS | CYCLE direktyva nurodo, kad sekos numeris bus paleistas iš naujo, kai jis pasieks didžiausią ar mažiausią vertę. |
NĖRA CIKLO | Numatytoji parinktis. NĖRA CYCLE direktyvos nenurodo, kad sekos numeris nebus paleistas iš naujo, kai jis pasieks didžiausią ar mažiausią vertę. |
Talpykla | Talpyklos dydis nurodo, kuris sekos numerių diapazonas bus laikomas talpykloje. |
NĖRA ATMINTINĖS | Numatytoji parinktis. „NO Cache“ direktyvoje nenurodyta, kad sekos numeris nebus išsaugotas mazge. |
ATSTATYTI PAGAL
| Nurodoma, kad perkraunant duomenų bazę, duomenų bazė automatiškai vykdo |
Pavyzdys -
Sukursime seką pavadinimu DHK_SCHEMA.EMP_NO, kuri kiekvieną kartą sukurs padidintą sekos vertę +1, kai bus naudojama seka.
Sekos scenarijus -
SUKURTI SEKTĄ DHK_SCHEMA.EMP_NO PRADĖTI 100 PRIEDŲ 1.
Čia mes naudosime objekto „seka“ toliau pateiktame pavyzdyje, kad padidintume darbuotojo Nr vertę +1 kaskart, kai bus vykdoma pasirinkta užklausa. Užklausoje „nextval“ gali būti naudojamas generuojant serijos numerį ar tokio paties tipo reikalavimus.
Sekos naudojimas -
PASIRINKITE DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
REZULTATAS - 100 101 102
... Taigi atlikdami kiekvieną aukščiau nurodytą užklausą.