Server Anywhere 9.0 if komutunun kullanımı?

Sybase veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

Server Anywhere 9.0 if komutunun kullanımı?

Mesaj gönderen metemete » 10 Kas 2005 01:35

Adaptive Server Anywhere 9.0 kullanıyorum
function olarak ;

Kod: Tümünü seç

ALTER PROCEDURE "DBA"."SPI_Hareket"(@SREF numeric,@CREF numeric,@Miktar numeric,@Tutar numeric,@Odeme varchar(10),@İslem varchar(15)) 
as 
begin 
 
  declare @DLR_KAYIT_SAYISI numeric 

 if @İslem<>'Stok Alış' or @İslem='Stok Satış'  //begin
select @DLR_KAYIT_SAYISI = count(*) from dba.Cari where CREFERANS = @CREF
  if @DLR_KAYIT_SAYISI = 0 
 if @İslem<>'Stok Alış' or @İslem='Stok Satış' insert into dba.Cari(CREFERANS,Alacak,Borc) values(@CREF,0)

      if @Odeme='Veresiye' update dba.Cari set 
        Alacak = Alacak + @Tutar  where CREFERANS=@CREF
      if @Odeme='Peşin' update dba.Cari set 
        Borc = Borc + @Tutar  where CREFERANS=@CREF
// end;

if @İslem<>'Giriş' or @İslem='Çıkış'  //begin
 select @DLR_KAYIT_SAYISI = count(*) from dba.Stok where SREFERANS = @SREF
  if @DLR_KAYIT_SAYISI = 0 
if @İslem<>'Giriş' or @İslem='Çıkış' insert into dba.Stok(SREFERANS,Giris,Cikis) values(@SREF,0)

       if @İslem='Giriş' or @İslem='Stok Alış' update dba.Stok set 
        Giris = Giris + @Miktar where SREFERANS=@SREF
       if @İslem='Çıkış' or @İslem='Stok Satış' update dba.Stok set 
        Cikis = Cikis + @Miktar where SREFERANS=@SREF
//end;
End
kodlarını kullanmaya calısıyorum.
fakat mesela

if @İslem<>'Stok Alış' or @İslem='Stok Satış' begin
....
......
end;
if @İslem<>'Giriş' or @İslem='Çıkış' begin
.....
......
end;
şu sekilde kullanmak istiyorum.Fakat hata veriyor.
doğrusu nasıl yazılıyor?


1. if komutunda begin end bloğu nasıl kulllanırım;
2. Adaptive Server Anywhere 9.0 trıgger ve function içinde komutların kullanımını gösteren bir bilgiyi nerden bulabilirim?

Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 09:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin » 11 Kas 2005 10:42

Sybase SQL kod olarak Watcom SQL ve Transact SQL isimli iki farkli yazım şeklini destekler.... Watcom SQl eski standarttir ve hala calismasi ile gecmise yonelik destek saglanmaktadir. En temel fark watcom sql de komut sonlarinda ; bulunur... Sizin kod aslında Transact sql oldugu icin if blogunda end in sonuna ; koymamaniz gerekiyor....
Bir if blok ornegi...

Kod: Tümünü seç

      if @BILGI = 'TEST'
        begin
          ....
          ....
        end
      else
        begin
          ....
          ....
        end
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)

Cevapla