ďťż
 
ORA-02291:naruszono wiezy integralnosci ďťż
 
ORA-02291:naruszono wiezy integralnosci
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

ORA-02291:naruszono wiezy integralnosci



mamin@o2.pl - 12-08-2006 01:32
ORA-02291:naruszono wiezy integralnosci
  Witam,
Mam bazke na Oracle 9.2. W schemacie TEST mam m.in tabele
zamowienia_pozycje i stawki_vat.
Kiedy robie inserta:

INSERT INTO ZAMOWIENIA_POZYCJE
(ZAMOWIENIE_ID,OPERATOR_ID,POZYCJA_ASORTYMENTOWA_I D,POZYCJA_CENNIKA_ID,CENA,WARTOSC_WSPOLCZYNNIKOW,S TAWKA_VAT_ID,
STATUS_POZYCJI_ZAMOWIENIA_ID,LICZBA_SZTUK,ZLOZONA_ NAZWA_POZYCJI)
VALUES (4,1,6,1,2,1,1,1,1,'test')

Oracle rzuca mi blad:
"ORA-02291: naruszono wiezy integralnosci
(TEST.ZAM_POZ_STAWKA_VAT_FK) - nie znaleziono klucza nadrzednego\n"

Constraint ZAM_POZ_STAWKA_VAT_FK wrzucony do skryptu wyglada tak:
--ZAM_POZ_STAWKA_VAT_FK
--
ALTER TABLE ZAMOWIENIA_POZYCJE ADD (
CONSTRAINT ZAM_POZ_STAWKA_VAT_FK FOREIGN KEY (STAWKA_VAT_ID)
REFERENCES FAKTURY_VAT (ID));

Czy moze mi ktos powiedziec, dlaczego ten constraint blokuje mojego
inserta?





Marcin 'goral' Goralski - 12-08-2006 01:32

  mamin@o2.pl wrote:
> Witam,
> Mam bazke na Oracle 9.2. W schemacie TEST mam m.in tabele
> zamowienia_pozycje i stawki_vat.
> Kiedy robie inserta:
>
> INSERT INTO ZAMOWIENIA_POZYCJE
> (ZAMOWIENIE_ID,OPERATOR_ID,POZYCJA_ASORTYMENTOWA_I D,POZYCJA_CENNIKA_ID,CENA,WARTOSC_WSPOLCZYNNIKOW,S TAWKA_VAT_ID,
> STATUS_POZYCJI_ZAMOWIENIA_ID,LICZBA_SZTUK,ZLOZONA_ NAZWA_POZYCJI)
> VALUES (4,1,6,1,2,1,1,1,1,'test')
>
> Oracle rzuca mi blad:
> "ORA-02291: naruszono wiezy integralnosci
> (TEST.ZAM_POZ_STAWKA_VAT_FK) - nie znaleziono klucza nadrzednego\n"
>
> Constraint ZAM_POZ_STAWKA_VAT_FK wrzucony do skryptu wyglada tak:
> --ZAM_POZ_STAWKA_VAT_FK
> --
> ALTER TABLE ZAMOWIENIA_POZYCJE ADD (
> CONSTRAINT ZAM_POZ_STAWKA_VAT_FK FOREIGN KEY (STAWKA_VAT_ID)
> REFERENCES FAKTURY_VAT (ID));
>
>
> Czy moze mi ktos powiedziec, dlaczego ten constraint blokuje mojego
> inserta?
>

A istnieje w tablicy FAKTURY_VAT faktura o ID=1 ?

marcin




mamin@o2.pl - 12-08-2006 01:32

 
Marcin 'goral' Goralski napisał(a):
> mamin@o2.pl wrote:
> > Witam,
> > Mam bazke na Oracle 9.2. W schemacie TEST mam m.in tabele
> > zamowienia_pozycje i stawki_vat.
> > Kiedy robie inserta:
> >
> > INSERT INTO ZAMOWIENIA_POZYCJE
> > (ZAMOWIENIE_ID,OPERATOR_ID,POZYCJA_ASORTYMENTOWA_I D,POZYCJA_CENNIKA_ID,CENA,WARTOSC_WSPOLCZYNNIKOW,S TAWKA_VAT_ID,
> > STATUS_POZYCJI_ZAMOWIENIA_ID,LICZBA_SZTUK,ZLOZONA_ NAZWA_POZYCJI)
> > VALUES (4,1,6,1,2,1,1,1,1,'test')
> >
> > Oracle rzuca mi blad:
> > "ORA-02291: naruszono wiezy integralnosci
> > (TEST.ZAM_POZ_STAWKA_VAT_FK) - nie znaleziono klucza nadrzednego\n"
> >
> > Constraint ZAM_POZ_STAWKA_VAT_FK wrzucony do skryptu wyglada tak:
> > --ZAM_POZ_STAWKA_VAT_FK
> > --
> > ALTER TABLE ZAMOWIENIA_POZYCJE ADD (
> > CONSTRAINT ZAM_POZ_STAWKA_VAT_FK FOREIGN KEY (STAWKA_VAT_ID)
> > REFERENCES FAKTURY_VAT (ID));
> >
> >
> > Czy moze mi ktos powiedziec, dlaczego ten constraint blokuje mojego
> > inserta?
> >
>
> A istnieje w tablicy FAKTURY_VAT faktura o ID=1 ?
>
> marcin

Nie, tablica FAKTURY_VAT jest pusta, gdyż wpis do niej ma nastąpić
już po tym insercie który chcę wykonać. Baza do tej pory
działała, jedyne co zrobiłem to wyczyściłem zawartości kolumn i
ustawiłem od nowa wartości sekwencji.Od tej chwili mam problem z tym
constraintem. Co dokładnie chce wymusić ten constraint ?




Marcin 'goral' Goralski - 12-08-2006 01:32

  mamin@o2.pl wrote:

> Nie, tablica FAKTURY_VAT jest pusta, gdyż wpis do niej ma nastąpić
> już po tym insercie który chcę wykonać.

Wlasnie.

> constraintem. Co dokładnie chce wymusić ten constraint ?

To, co z reguly wymusza klucz obcy.

marcin





mamin@o2.pl - 12-08-2006 01:32

 
> To, co z reguly wymusza klucz obcy.
>
> marcin

Nadal nie rozumiem. Tablica zamowienia_pozycje ma dwie istotne kolumny:
1.stawka_vat_id - przez co wiąże się z tabelą stawki_vat
2.faktura_vat_id - przez co wiąże się z tabelą faktury_vat.(Moze
byc rowna null).

Co zatem oznacza wpis:

ALTER TABLE ZAMOWIENIA_POZYCJE ADD (
CONSTRAINT ZAM_POZ_STAWKA_VAT_FK FOREIGN KEY (STAWKA_VAT_ID)
REFERENCES FAKTURY_VAT (ID));

Że kolumna stawka_vat_id z tabeli ZAMOWIENIA_POZYCJE zawiera klucz
obcy z tabeli FAKTURY_VAT ? Przecież tak nie jest. Skąd wogóle się
biorą te constrainty?




Marcin 'goral' Goralski - 12-08-2006 01:32

  mamin@o2.pl wrote:
>> To, co z reguly wymusza klucz obcy.
>>
>> marcin
>
> Nadal nie rozumiem. Tablica zamowienia_pozycje ma dwie istotne kolumny:

Proponuje doczytac troche o kluczach obcych.

>
> ALTER TABLE ZAMOWIENIA_POZYCJE ADD (
> CONSTRAINT ZAM_POZ_STAWKA_VAT_FK FOREIGN KEY (STAWKA_VAT_ID)
> REFERENCES FAKTURY_VAT (ID));

Widac tu klucz obcy do tablicy faktury_vat.

>
> Że kolumna stawka_vat_id z tabeli ZAMOWIENIA_POZYCJE zawiera klucz
> obcy z tabeli FAKTURY_VAT ? Przecież tak nie jest. Skąd wogóle się
> biorą te constrainty?

Panie, a skad to ja mam wiedziec ? Czy to ja projektowalem to cos ?
Widocznie takie byly wymagania projektowe, tak zostala zrozumiana logika
i funkcjonalnosc, i, sadzac po nazwach tablic, calkiem slusznie.
STAWKA_VAT_ID jest kluczem obcym do tablicy FAKTURY_VAT, odnoszacym sie
do pola ID tejze tablicy i najprawdopodobniej bedacym kluczem glownym
tejze tabeli.
Prosze troche doczytac, w zrozumieniu moze pomoc przyklad _relacji_
pomiedzy rodzicem i dzieckiem (dziecmi). Rodzic moze, lecz nie musi
miec dzieci. Dziecko musi miec rodzicow (nie rozpatrujemy tutaj
przypadkow medycznych sztucznego zaplodnienia)

marcin




mamin@o2.pl - 12-08-2006 01:32

 
>
> Panie, a skad to ja mam wiedziec ? Czy to ja projektowalem to cos ?
> Widocznie takie byly wymagania projektowe, tak zostala zrozumiana logika
> i funkcjonalnosc, i, sadzac po nazwach tablic, calkiem slusznie.
> STAWKA_VAT_ID jest kluczem obcym do tablicy FAKTURY_VAT, odnoszacym sie
> do pola ID tejze tablicy i najprawdopodobniej bedacym kluczem glownym
> tejze tabeli.

Ale jaka w tym logika? STAWKA_VAT_ID powinna być kluczem do tablicy
STAWKI_VAT odnoszącym się do jej pola ID, a nie do jakiejś z kosmosu
wziętej tabeli FAKTURY_VAT.
Wywaliłem tego constrainta. Ale dzięki za odpowiedź, bo pomogła mi
sporo zajarzyć.

Pozdrawiam,
Marcin




Marcin 'goral' Goralski - 12-08-2006 01:32

  mamin@o2.pl wrote:

> Ale jaka w tym logika?

Panie, a skad ja do cholery mam wiedziec ? Nie projektowalem tej
aplikacji/systemu.

> STAWKA_VAT_ID powinna być kluczem do tablicy
> STAWKI_VAT odnoszącym się do jej pola ID,

Niech sie Pan lepiej zapyta producenta, co powinno a co nie.

> Wywaliłem tego constrainta. Ale dzięki za odpowiedź, bo pomogła mi
> sporo zajarzyć.

Jesli to system dostarczany przez inna firme, to prosze sie nie zdziwic,
jesli odmowia supportu. Do tego, powiem Panu szczerze ... wylecialby
Pan u mnie z roboty jak nic, gdyby modyfikowal Pan sobie logike
aplikacji/systemy ze wzgledu na to, co sie Panu wydaje.

Niemniej, ciesze sie, ze pojal Pan istote dzialania kluczy obcych.

marcin




Sławomir Szyszło - 12-08-2006 01:32

  Dnia 8 Aug 2006 04:55:27 -0700, mamin@o2.pl wklepał(-a):

>Ale jaka w tym logika? STAWKA_VAT_ID powinna być kluczem do tablicy
>STAWKI_VAT odnoszącym się do jej pola ID, a nie do jakiejś z kosmosu
>wziętej tabeli FAKTURY_VAT.
>Wywaliłem tego constrainta. Ale dzięki za odpowiedź, bo pomogła mi
>sporo zajarzyć.

Z tego co ja rozumiem, to stawka VAT w pozycji zamówienia (czymkolwiek to jest)
musi być taka sama jak w "źródłowej" (?) fakturze VAT.

A jak nie znasz zależności logicznych między tabelami, to nie wstawiaj rekordów
"z ręki".
--
Sławomir Szyszło mailto:slaszysz@poczta.onet.pl
Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    =?iso-8859-2?q?ORA-12528:_TNS:nas=B3uch:_nowe_po=B3=B1czenia_s=B1_blo kowane_przez_wszystkie?= ORA-00600: internal error code, arguments: [729], [266536],[space leak] ORACLE - ORA-12545: Connect failed because target host or object does not exist SELECT MAX(nazwaPola) FROM tabela WHERE .... i ORA-01405: pobran? warto?ci? kolumny jest NULL [ORACLE] 9.2 - problem przy imporcie do bazy z UTF8 (ora-1401) ORA-12154: TNS: nie udalo sie rozstrzygnac podanego identyfikatora polaczenia TOAD blad polaczenia z serwerem: ORA-01031 insufficient privileges ORACLE - brak procesu nasłuchu TOAD ORA-12541 [Oracle] Nie dziala MERGE przez @dblink (ORA-02064) ORA-02095: Podany parametr inicjalizacyjny nie moze byc modyfikowany
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • wawa19wwa91.pev.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com