Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako uraditi referencijalni integritet sa dva polja

[es] :: Firebird/Interbase :: Kako uraditi referencijalni integritet sa dva polja

[ Pregleda: 3026 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MatezYU

Član broj: 4114
Poruke: 1586
*.adanet.co.yu.



+17 Profil

icon Kako uraditi referencijalni integritet sa dva polja26.09.2007. u 05:48 - pre 201 meseci
Poz. Pocetnik sam sa firebird bazom. Kontam kako da uradim referencijalni integritet sa jednim polje, dakle imam jednu glavnu tabelu gde mi se nalaze neke sifre i opis sifre i onda samo tu sifru povezem sa drugom tabelom gde je ta sifra strani kljuc. Interesuje me da li moze da se uradi sledece, da imam jednu kolonu kao grupu i jos jednu kolonu kao podgrupu i da one zajedno cine kao index unique i kada se on promni u ovoj tabeli da se automatski ta dva polja promene i u toj drugoj tabeli? Ne znam da li sam bio jasan dovoljno
 
Odgovor na temu

schild
Dejan Šild
TopCode Software
Subotica

Član broj: 59888
Poruke: 138
*.legendww.com.

Sajt: www.topcode.rs


+2 Profil

icon Re: Kako uraditi referencijalni integritet sa dva polja26.09.2007. u 06:58 - pre 201 meseci
Može. Daklem ovako:
Code:
CREATE TABLE Tabela1 (
    ID1      INTEGER NOT NULL,
    ID2      INTEGER NOT NULL,
    OSTLO1   INTEGER,
    UNIQUE (id1, id2)
); 

CREATE TABLE Tabela2 (
    ID        INTEGER NOT NULL,
    FK1      INTEGER NOT NULL,
    FK2      INTEGER NOT NULL,
    OSTLO2  INTEGER,
    PRIMARY KEY (id)
);

ALTER TABLE Tabela2 ADD CONSTRAINT FK_T2_T1 FOREIGN KEY (FK1,FK2) REFERENCES Tabela1 (ID1, ID2) ON UPDATE CASCADE;

Ovo ON UPDATE CASCADE na kraju ti obezbeđuje da se promenom vrednosti ID1 i/ili ID2 u Tabeli1 automatski promene polja FK1 i FK2 u Tabela2.

 
Odgovor na temu

[es] :: Firebird/Interbase :: Kako uraditi referencijalni integritet sa dva polja

[ Pregleda: 3026 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.