İbdataset te master detail olayı?

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
ömer faruk
Üye
Mesajlar: 97
Kayıt: 29 Eki 2003 09:34
Konum: Bursa
İletişim:

İbdataset te master detail olayı?

Mesaj gönderen ömer faruk »

Selamunaleykum arkadaşlar
Bu başlıkla ilgili hakkus kardeşin yazısını okudum ona binaen kodumu şu şekilde derlememe ragmen hata verdi burada benim anlamadıgım FK alanlar primary key gibi mi seçip Fk alan yapacaz yoksa başka bişi mi bu
kodum şu şikilde

ALTER TABLE urun_giris_table ADD CONSTRAINT FK_urun_giris_table FOREIGN KEY (cari_kod) REFERENCES cari_table (cari_kod);


urun_giris_table, detail tablom, cari_kod ile olayı bağlıyorum hakkus kardeşin yazında ilgili alan şu şekilde idi

"MasrerIdAlan-->integer Fk (foreign Key) not Null (bu alanla Detail table master table a bağlanacak)
Detail Table a aşağıdaki kodu ekle.
Kod:

ALTER TABLE detailTable ADD CONSTRAINT FK_DetailTable FOREIGN KEY (MasterIdAlan) REFERENCES MasterTable (MasterIdAlan);
"

koyu alanı FK olayını nasıl yapacam anlamadım ..yardımcı olursanız sevinirim kolay gelsin..
Hakimiyet ALLAH' ındır...
hakkus
Üye
Mesajlar: 160
Kayıt: 18 Haz 2003 12:02
Konum: Konya

Mesaj gönderen hakkus »

Merhabalar,
Eğer IBExpert gibi bir tool kullanıyorsan;
DetailTable i clik'le,
Fields, Constraints, indices gibi sekmeleri göreceksin.
Constraints i clikle
1 Primary Key, 2 Foreign Key ..... sekmelerini göreceksin.
2Foreign Key sekmesini cliklereyerek Foreing Key oluştur. Bunu iki tabloyu birbirine bağlama için kullanabilirsin.
OnField alanına DetailTablonun master a bağlacak alanını belirle, örnegin DetailTable_ID gibi.
FKTable... MasterTable in adı..
FKField... MasterTable in Bağlanacak field alan adı.. Bu PK olmalı veya Unique bir alan olmalıdır yoksa çok karışıklık çıkar. Bu alanla DetailTablo daki alan aynı özellikte olmalıdır.. Örnegin integer veya varChar(10)..vs
Hepsi bu kadar.. Delphi tarafındaki düzenlemeler daha önce yazdığım gibi..
Eğer masterKayıt silinince buna bağlı detail lerinde silinmesini istersen
yine aynı yerdeki DELETE Rule daki seçenekleri kullan.
Delete Rule---->CASCADE vs..
Kolay gelsin.
saygılar
Kullanıcı avatarı
ömer faruk
Üye
Mesajlar: 97
Kayıt: 29 Eki 2003 09:34
Konum: Bursa
İletişim:

Mesaj gönderen ömer faruk »

S.A
Kardeş Allah razı olsun denemedim ama hemen deneyeceğim teşekkürler
Hakimiyet ALLAH' ındır...
Cevapla