DROP TABLE sa FOREIGN KEY (Oracle)

DROP TABLE sa FOREIGN KEY (Oracle)

offline
  • Pridružio: 08 Sep 2005
  • Poruke: 70

Daklem, instalirao sam Oracle 9i, ucim se bazama podataka na faksu i samostalno kuci, kreirao neku bazu podataka u kojoj imam dve tabele koje se referenciraju jedna na drugu. Prvi problem, koji sam uspesno resio, bio je da nisam mogao da kreiram nijednu od te dve jer Oracle nije hteo da ih kreira posto se jedna referencira na drugu koja nije kreirana i obrnuto. Zacarani krug Confused To sam resio tako sto sam kreirao tabelu bez FOREIGN KEY ogranicenja, pa onda kasnije dodao s ALTER TABLE. No, sad imam neresiv problem. Kako da isbrisem te dve tabele. DROP TABLE jedne ne uspeva posto ona ima " unique/primary keys in table referenced by foreign keys". Sa ALTER TABLE sam probao nesto, ali ili ja ne znam sintaksu il je to nemoguce. Moze li mi neko pomoci, kako da izbrisem dve tabele koje se referenciraju jedna na drugu ? Unapred hvala!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Pa nije zacarani krug.. pravilo je da se referencirane tabele brisu "od nazad" tj od "unuka" ka "dedi".

primer, tabele imaju sledecu strukturu

1:
TipoviAdresa
TAD_CdiTipAdrese, TAD_DssTipAdrese

2:
TipoviIntervjua
TII_CdiTipIntervjua, TII_DssTipIntervjua

3:
GrupeIntervjua
GRI_CdiGrupaIntervjua, GRI_CdiTipIntervjua, GRI_DssGrupaIntervjua

4:
Osobe
OSO_CdiOsoba, OSO_DssIme, OSO_CdiTipAdrese, OSO_DssAdresa,
OSO_CdiGrupaIntervjua,......

-----------------------------

Sada hoces da DROP-ujes tabelu TipoviIntervjua
Pre toga moras da ubjes tabele "Osobe" i "GrupeIntervjua".
Da bi obrisao tabelu "TipAdrese", moras prvo da obrises tabelu "Osobe".

Razumeo?



offline
  • Pridružio: 08 Sep 2005
  • Poruke: 70

Ovde mi je jasno sta si hteo da kazes, ali mi nisu bas najjasnije ove oznake Dss, Cdi.. Prvo me podseca na sljivu a drugu na diesel Smile. No, sta da se radi ako ja imam, evo sad cu ti konkretno reci sta je problem:

CREATE TABLE REG_ORGANIZACIJA
(BROJ INTEGER PRIMARY KEY,
ULICA VARCHAR(20),
UL_BR INTEGER,
GRAD VARCHAR(20),
SEF INTEGER,
FOREIGN KEY(SEF) REFERENCES RADNIK(MBR));


CREATE TABLE RADNIK
(IME VARCHAR(20),
INIC CHAR(1),
PREZIME VARCHAR(20),
MBR INTEGER PRIMARY KEY,
POL CHAR(1),
DATRODJ DATE,
KANCELARIJA VARCHAR(5),
REG_ORG INTEGER,
DATUM_ZAPOSLENJA DATE,
FOREIGN KEY(REG_ORG) REFERENCES REG_ORGANIZACIJA(BROJ));

I kako obrisati ove dve kad se ne zna koja je starija, kokoska ili jaje tj, unuk ili deda. REG_ORGANIZACIJA se ne moze obrisati jer referencira na RADNIK, koji se opet ne moze obristi jer referencira na REG_ORGANIZACIJA.

offline
  • rondo 
  • Novi MyCity građanin
  • Pridružio: 01 Sep 2006
  • Poruke: 1

Prvo ubi constraints-e a posle obrisi tabele:

ALTER TABLE DOKUMENT drop constraint IME_constrainta

Ukoliko neznas IME_constrainta, nadi ga u SYS-u

select * from all_constraints where owner='TVOJ_USER'
and table_name='REG_ORGANIZACIJA'

tu_nades IME_constrainta

slicno za RADNIK

Ko je trenutno na forumu
 

Ukupno su 573 korisnika na forumu :: 19 registrovanih, 2 sakrivenih i 552 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Atomski čoban, BrankaSo, Dorcolac, Drug pukovnik, ekser222, goxin, Konda, Marko Marković, MB120mm, Miskohd, pacika, pein, Penzula, t.mile, vathra, Vlada1389, vlvl, |_MeD_|