Sintaksa stavka za brisanje sekundarnega indeksa:
DROP INDEX ime_indeksa; ali
DROP INDEX ime_indeksa ON ime_tabele;
Primer stavka, ki za tabelo Proslava najprej naredi sekundarni indeks ‘poCeni', indeks je urejen padajoče - od najdražjih proslav do najcenejših. Naslednji stavek pa izbriše sekundarni indeks 'poCeni'.
Create DESCENDING Index poCeni ON Proslava (Cena);
Drop Index poCeni;
// Opomba: večina SUPB zahteva razločevalna imena sekundarnih indeksov! Primer je narejen za SUPB Firebird.
SUPB sicer omogočajo tudi brisanje primarnega ključa tabele. Kljub temu je ta operacija nezaželena in največkrat povzroča precej težav.
Sledita dva zgleda kreiranja tabele s primarnim ključem in takoj za tem brisanja primarnega ključa. V prvem primeru težav ni, ker primarni ključ še ni bil uporabljen pri povezavanju z drugimi tabelami PB. Tovrstna situacija je v praksi prava redkost. V drrugem primeru je ponazorjena napaka pri brisanju primarnega ključa, ki je v praksi pogosta.
/* naredimo tabelo test, primarni ključ je id */
SQL> create table test (id integer not null, neki char(10), primary key (id));
/* prikaz strukture tabele test1 */
SQL> show table test;
ID INTEGER Not Null
NEKI CHAR(10) Nullable
CONSTRAINT INTEG_37:
Primary key (ID)/* poiskus brisanja primarnega ključa tabele test uspe */
SQL> alter table test drop constraint integ_37;
SQL> show table test;
ID INTEGER Not Null
NEKI CHAR(10) Nullable
SQL>
/* naredimo tabelo test1, primarni ključ je id */
SQL> create table test1 (id integer not null, neki char(10), primary key (id));
/* prikaz strukture tabele test1 */
SQL> show table test1;
ID INTEGER Not Null
NEKI CHAR(10) Nullable
CONSTRAINT INTEG_39:
Primary key (ID)
/* naredimo tabelo test2, atribut id2 je tuji ključ tabele test2 in se sklicuje na primarni ključ tabele test1 */
SQL> create table test2 (id integer not null, id2 integer not null references test1 (id) on delete no action on update no action, primary key (id));
/* prikaz strukture tabele test2 */
SQL> show table test2;
ID INTEGER Not Null
ID2 INTEGER Not Null
CONSTRAINT INTEG_42:
Foreign key (ID2) References TEST1 (ID) On Update No Action On Delete No Ac
tion
CONSTRAINT INTEG_43:
Primary key (ID)
/* poiskus brisanja primarnega ključa tabele test1 ne uspe, ker je uporabljen v definiciji tujega ključa tabele test2 */
SQL> alter table test1 drop constraint integ_39;
Statement failed, SQLCODE = -607
unsuccessful metadata update
-ERASE RDB$RELATION_CONSTRAINTS failed
-action cancelled by trigger (1) to preserve data integrity
-Cannot delete PRIMARY KEY being used in FOREIGN KEY definition.
SQL>
Avtorji: Tea Lončarić , Andreja Vehovec, Marko Kastelic , David Drofenik, Saša Divjak, Alenka Kavčič , Matija Marolt, Marko Privošnik, Milan Podbršček, Janko Harej, Andrej Florjančič