SQL de farklı fieldlardan data aktarımı

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ı
MakPRO
Üye
Mesajlar: 251
Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:

SQL de farklı fieldlardan data aktarımı

Mesaj gönderen MakPRO »

mrb.

CODE isminde bir field ım var ve varhcar(30) yapısında. içindeki bilgiler tamamen rakamdan oluşmuş durumda. SYSCODE DOUBLE PRECISION diye bir alan ekleyip CODE içeriğini SYSCODE ALANINA nasıl aktarabilirim. yardımlarınız için teşekkür ederim .
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Sanirim CAST işinizi görür.. Kullanımı da şu şekilde olması lazım:

Kod: Tümünü seç

CAST(CODE AS DOUBLE)
Kullanıcı avatarı
MakPRO
Üye
Mesajlar: 251
Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:

Mesaj gönderen MakPRO »

mrb.

Kod: Tümünü seç

UPDATE CARDOPT SET SYSCODE=CAST(CODE AS DOUBLE)
bu komut hata verdi .

bu yüzden delphide kod yazarak sorunu çözdüm ama SQL de yapmak her zaman tercihimdir.

Kod: Tümünü seç

D.cardopt.First;
d.INST.First;
d.sqlgenel.SQL.Clear;
d.sqlgenel.SQL.Add('UPDATE CARDOPT SET SYSCODE=:CODE1 WHERE CODE=:CODE');
WHILE NOT (D.cardopt.Eof) DO BEGIN
d.sqlgenel.ParamByName('CODE1').AsFloat:=D.cardopt.FieldByName('CODE').AsFloat;
d.sqlgenel.ParamByName('CODE').Text:=D.cardopt.FieldByName('CODE').Text;
d.sqlgenel.ExecSQL;
d.cardopt.next;
end;
D.cardopt.Refresh;


d.sqlgenel.SQL.Clear;
d.sqlgenel.SQL.Add('UPDATE INST SET SYSCODE=:CODE1 WHERE CODE=:CODE');
WHILE NOT (D.cardopt.Eof) DO BEGIN
d.sqlgenel.ParamByName('CODE1').AsFloat:=D.cardopt.FieldByName('CODE').AsFloat;
d.sqlgenel.ParamByName('CODE').Text:=D.cardopt.FieldByName('CODE').Text;
d.sqlgenel.ExecSQL;
d.INST.next;
end;
D.INST.Refresh;
yazdığım komutlarda yukardaki gibidir. iyi çalışmalar.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Yazdığınız SQL ne hatası verdi?

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
mucit
Üye
Mesajlar: 83
Kayıt: 24 Kas 2004 10:41
Konum: BURSA

Mesaj gönderen mucit »

Merhaba,

Kod: Tümünü seç

UPDATE CARDOPT SET SYSCODE=CAST(CODE AS DOUBLE)
yerine

Kod: Tümünü seç

UPDATE CARDOPT SET SYSCODE=CAST(CODE AS DOUBLE PRECISION)
şeklinde yazmalısın..

Kolay gelsin.
Kullanıcı avatarı
MakPRO
Üye
Mesajlar: 251
Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:

Mesaj gönderen MakPRO »

tşk verdiğiniz kod işe yaradı :) bundan sonraki çalışmalarımda bu kadar kod yazmıcağımı umarım :)

iyi çalışmalar
Cevapla