Sequence (dizi)
CREATE SEQUENCE seq_kampanya START WITH 100 INCREMENT BY 10; SELECT seq_kampanya.NEXTVAL AS ilk FROM dual; SELECT seq_kampanya.NEXTVAL AS ikinci, seq_kampanya.CURRVAL AS su_an FROM dual;
CURRVAL, oturumda en az bir kezNEXTVALçağrılmadan kullanılamaz.- Seçenekler:
MINVALUE,MAXVALUE,CYCLE(sona gelince başa döner),CACHE n(performans; çökmede boşluk oluşabilir),NOCACHE. - NEXTVAL; alt sorguda, GROUP BY / ORDER BY / DISTINCT içeren SELECT'te, view tanımında ve CHECK kısıtında kullanılamaz.
- Sequence değerleri ROLLBACK ile geri alınmaz; numaralarda boşluk olabilir.
- 12c'den beri sütun varsayılanı olabilir:
DEFAULT seq.NEXTVALveyaGENERATED ALWAYS AS IDENTITY.
Synonym (eşanlamlı)
CREATE SYNONYM urunler FOR satis.products; -- özel (yalnızca senin şemanda) CREATE PUBLIC SYNONYM urunler FOR satis.products; -- herkese açık (yetki gerekir) DROP SYNONYM urunler;
Eşanlamlı yalnızca bir addır; nesneye erişim yetkisi vermez.
Görünüm kuralları (sınav)
- Basit görünüm (tek tablo, fonksiyon/grup yok) üzerinden DML yapılabilir.
- Grup fonksiyonu, GROUP BY, DISTINCT, ROWNUM veya ifadeyle tanımlanmış sütun varsa: o sütuna INSERT/UPDATE yapılamaz.
- Görünüm alttaki tablonun NOT NULL sütunlarını içermiyorsa görünüm üzerinden INSERT başarısız olur.
CREATE OR REPLACE VIEWyetkileri korur;DROP VIEWalttaki veriyi silmez.
İndeksler
- PRIMARY KEY ve UNIQUE kısıtları otomatik benzersiz indeks oluşturur; FOREIGN KEY oluşturmaz.
- Bileşik indeks: sütun sırası önemlidir; ilk sütunu içermeyen koşullar indeksten tam yararlanamaz.
- Fonksiyon tabanlı indeks:
CREATE INDEX ix ON employees (UPPER(last_name)); - Görünmez indeks:
ALTER INDEX ix INVISIBLE; - Aynı sütun kümesinde birden fazla indeks ancak türleri (B-tree/bitmap) veya benzersizlik/bölümleme farklıysa olabilir ve yalnızca biri görünür olabilir.