create table'da anlamsız hata..!

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ı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

create table'da anlamsız hata..!

Mesaj gönderen nitro »

s.a
şöyle bir tablo oluşturmaya çalışıyorum. (ibexpert)

Kod: Tümünü seç

CREATE TABLE STOKHAR (
    HARNO INTEGER NOT NULL,
    FISNO CHAR(10) DEFAULT '0' NOT NULL,
    BELGENO CHAR(10),
    FATURANO INTEGER,
    DEPONO CHAR(10),
    STOKNO INTEGER NOT NULL,
    CARINO INTEGER NOT NULL,
    ISLEMTIP CHAR(3) DEFAULT '-S',
    GIRISMIKTAR INTEGER DEFAULT 0,
    CIKISMIKTAR INTEGER DEFAULT 0,
    BIRIMFIYAT NUMERIC(6,2) DEFAULT 0 NOT NULL,
    BIRIMAD CHAR(10),
    GIRISTUTAR COMPUTED BY (GIRISMIKTAR*BIRIMFIYAT),
    CIKISTUTAR COMPUTED BY (CIKISTUTAR*BIRIMFIYAT),
    INDIRIMORAN INTEGER,
    INDIRIMTUTAR COMPUTED BY (CASE ISLEMTIP WHEN '-S' THEN (100) WHEN '+S' THEN (200) END),
    KDVORAN INTEGER,
    KDVTUTAR COMPUTED BY (CASE ISLEMTIP WHEN '-S' THEN (10) WHEN '+S' THEN (20) END),
    GIRISARATOPLAM COMPUTED BY (GIRISTUTAR+KDVTUTAR-INDIRIMTUTAR),
    CIKISARATOPLAM COMPUTED BY (CIKISTUTAR+KDVTUTAR-INDIRIMTUTAR),
    ARATOPLAM INTEGER);
oluşan hata da şu:

Kod: Tümünü seç

Ambiguous column reference.
Dynamic SQL Error.
SQL error code = -203.
Inappropriate self-reference of column
aslında table2ın computed alanları daha da karışık. mesela indirimtutar field'inde iç hesaplama yaptırmadım. yeterki hata vermesin de dedim. şimdilik 100 ve 200 gibi değerler verdim. ama tuhaf bişey var. mantık hatası mı yapıyorum acaba.?
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

sanırım bir computed alanı, tekrar computed yaptığın için kızıyor. Aşağıda GIRISTUTAR yerine (GIRISMIKTAR*BIRIMFIYAT) yazıp dene. Bunun gibi tüm computed alanları, gerçek alan değerleriyle değiştir.

Kolay gelsin.
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

tespit doğru ama bir hata daha var.

Mesaj gönderen nitro »

tespitiniz çok doğru. computed bir alanı yine computed alanda kullanmak hata verdiriyor. bu mantıksal hatayı düzelttim ama şimdi de case olayında sürekli hata veriyor.
invalid token diye bir hata.
forumda aramıştım ve fahettin bey bu konuya bir keresinde böyle bir cevapla son noktayı koymuştu.
acaba ibexpert case'i desteklemiyor mu?
case'i desteklemeyen bence if'i de desteklemez?
yardımlarınız için şimdiden teşekkürler.
saygılarımla...
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

case li ifadeyi tam yazarsanız belki yardımcı olabilirzi...fb 1.5 new release pdf dosyasında case kullanımına iliski ornek var ayrıca makaleler kısmında da case ile ilgili oguz arkadasımın hazırladıgı bir makale var
viewtopic.php?t=4313&highlight=case

ibexpertin desteklememesi diye bir sey degildir muhtemelen
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Re: tespit doğru ama bir hata daha var.

Mesaj gönderen fahrettin »

nitrokonat yazdı:cevapla son noktayı koymuştu.
acaba ibexpert case'i desteklemiyor mu?
SQL kodunuzu çalıştırmak için aracı olan ediyor veya programların komut desteklemeleri veya desteklememeleri söz konusu olamaz.... Zira SQL kodunu yorumlayacak olup çalıştıracak olan Database Engine'in kendisidir. IBexpert olsun, SQL Explorer olsun bunların tek görevi mevcut SQL kodu Database Engine'e göndermektir....
Bu tarz bir yargı ile son nokta koydugumu hatırlamıyorum acikcasi.. Fakat insanlik hali yanlis bir ifade kullanmış ya da o mesajı yazarken yanılmış olabilirim... Ya da yanlış anlaşılan bir mesaj içeriği olmuş olabilir... Hangi mesaj oldugunu söylerseniz yanlış bir ifadem bilgi var ise düzeltirim bilgim dahilinde....

İyi çalışmalar dilerim....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

yanlışlık olmuş

Mesaj gönderen nitro »

son nokta olayında bir yanlışlık var. kastettiğim açıklamayı yapan gkimirti abimdir. konunun geçtiği link:
viewtopic.php?t=3587&highlight=calculated
ayrica firebird release 1.5 pdf dosyasını da okuyacağım.
teşekkürler
Cevapla