Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 2.450 pregleda

Najnovija ↓

Kako da iskljucim foreign key? 11.01.2007. u 23:43 · pre 241 mesec
izmenjeno 1 put, poslednji put srki 12.01.2007. u 01:52
  1. srki12.01.2007. u 01:52zapis iz teksta poruke
#1
U tabelu NEKA_TABELA je dodat ovakav constraint:
Code:
ALTER TABLE neka_tabela ADD (
  FOREIGN KEY (neka_kolona) 
    REFERENCES DVA (neka_kolona));


Kako da iskljucim ovaj bezimeni constraint? Neko nije stavio ime pa ne mogu da koristim ALTER TABLE DISABLE CONSTRAINT ime. Znam da postoji sistemsko ime SYS_nesto ali to ne mogu da koristim jer skripta mora da radi na nekoliko baza a na svakoj je drugacije to sistemsko ime.
Re: Kako da iskljucim foreign key? 12.01.2007. u 17:50 · pre 241 mesec #2
Podaci o FK se nalaze u pogledima USER_CONSTRAINTS i USER_CONS_COLUMNS (odnosno ALL_ ili DBA_ pogledima).

FK imaju u tabeli USER_CONSTRAINTS u polju contraint_type vrednost R.

Da vi našao kako se spoljni ključ zove, pusti skript:

Code:

select constraint_name
from user_constraints f, user_cons_columns c
where f.constraint_name = c.constraint_name
  and f.table_name = ime_tvoje_tabele
  and f.constraint_type = 'R'
  and c.column_name = ime_kolone


Da bi ga obrisao, stavi u svoj SQL skript nesto kao:

Code:



begin
  for i in (
             select constraint_name
             from user_constraints f, user_cons_columns c
             where f.constraint_name = c.constraint_name
               and f.table_name = ime_tvoje_tabele
               and f.constraint_type = 'R'
               and c.column_name = ime_kolone
            ) loop
    execute immediate 'ALTER TABLE ime_tvoje_tabele disable constraint ' || i.constraint_name ;
  end loop;
end;
/
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme