Foreign Key -bu kodda hata nerde ???

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ı
mikser
Üye
Mesajlar: 120
Kayıt: 30 Haz 2003 09:54
Konum: Ankara

Foreign Key -bu kodda hata nerde ???

Mesaj gönderen mikser »

Kod: Tümünü seç

CREATE TABLE ARACMARKA (
    MARKA  VARCHAR(25) NOT NULL COLLATE PXW_TURK
);

ALTER TABLE ARACMARKA ADD CONSTRAINT PK_ARACMARKA PRIMARY KEY (MARKA);

*****

CREATE TABLE ARACTIP (
    MARKA  VARCHAR(25) NOT NULL COLLATE PXW_TURK,
    TIP    VARCHAR(25) NOT NULL COLLATE PXW_TURK
);

ALTER TABLE ARACTIP ADD CONSTRAINT PK_ARACTIP PRIMARY KEY (MARKA, TIP);

****

alter table ARACTIP add constraint FK_ARACTIP foreign key (MARKA)
references ARACMARKA(MARKA) 
on delete CASCADE on update CASCADE

IBexpert de foreign key oluşturamadım.

vt : fb 1.5

hata mesajı :
This operation is not defined for system tables.
unsuccessful metadata update.
object ARACMARKA is in use .
selm@n
Kıdemli Üye
Mesajlar: 442
Kayıt: 01 Oca 2004 11:52
Konum: Adapazarı
İletişim:

Mesaj gönderen selm@n »

Kod: Tümünü seç

ALTER TABLE ARACTIP ADD CONSTRAINT FK_ARACTIP_ARACMARKA
  FOREIGN KEY (MARKA) REFERENCES ARACMARKA
  (MARKA)
  ON DELETE CASCADE
  ON UPDATE CASCADE;

Hocam bu şekilde olması lazım ;
;)
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
aracmarka tablosu kullanımda diyor. gdb dosyasını kullanan diğer programlardan çıkın yada gdb bağlantısını iptal edip yeniden denerseniz büyük ihtimalle düzelecektir
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
mikser
Üye
Mesajlar: 120
Kayıt: 30 Haz 2003 09:54
Konum: Ankara

Mesaj gönderen mikser »

yukarıdaki kodlari ibexpert in kendisi oluşturdu zaten. kodda bir hata yok sanırım. makinayi acip kapatinca sorun halloldu.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

mikser yazdı:kafayi yiycem valla....

Kod:

CREATE TABLE ARACALTTIP (
MARKA VARCHAR(25) NOT NULL COLLATE PXW_TURK,
TIP VARCHAR(25) NOT NULL COLLATE PXW_TURK,
ALTTIP VARCHAR(25) NOT NULL COLLATE PXW_TURK
);


dosya tamam, fakat index atmak istedigimde hata veriyor. Problem ne olabilir ki. 3 alana birden index atmak yasak mi? Key uzunlugu neden fazla diyor?

Kod:

ALTER TABLE ARACALTTIP ADD CONSTRAINT PK_ARACALTTIP PRIMARY KEY (MARKA, TIP, ALTTIP);



hata mesaji:

This operation is not defined for system tables.
unsuccessful metadata update.
key size too big for index PK_ARACALTTIP.

Not: Lütfen sorunun devamı için yeni başlık açmayın.
Cevapla