Benim sorum fb de oluşturduğum stored procedure ile. 2 adet tablom var. Ürün tablosunda daha önceden tanımladığım ürünleri barkodtan okuttukça satış tablosuna ekleniyor.
TBL_URUN
URUN_ID
URUN_AD
BIR_FIYAT
BARKOD
TBL_SATIS
SATIS_ID
URUN_ID
TARIH
Bu 2 tabloyu pk ve fk olarak birbirinede bağladım bunda da sorun yok. Şöyle birşey yapmak istiyorum bir sp oluşturarak parametre olarak yolladığım tarihdeki satışların toplamını döndersin bana.Bunun içinde şöyle bir sp yazdım ve ibexpert içinden denedim sonuç alamadım. Hata nerde yardımcı olursanız sevinirim arkadaşlar..
CREATE PROCEDURE SP_KASATOPLAM (
tarih date)
returns (
toplam float)
as
begin
/* Procedure Text */
select sum(TBL_URUN.BIR_FIYAT) from tbl_urun, tbl_satis where TBL_SATIS.TARIH=:TARIH
into :toplam;
suspend;
end^
Satış tablosunu koddan çıkarınca toplamı alıyor. Birden çok değerde döndürmüyorum. Eğer çok basit bir hataysa mazur görün arkadaşlar çünkü yeni yeni öğreniyorum. Kolay gelsin...
CREATE PROCEDURE SP_KASATOPLAM (
tarih date)
returns (
toplam float)
as
begin
/* Procedure Text */
select sum(TBL_URUN.BIR_FIYAT) from tbl_urun, tbl_satis
where tbl_urun.URUN_ID=tbl_satis.URUN_ID and TBL_SATIS.TARIH=:TARIH
into :toplam;
suspend;
end^
Mahsuni çok teşekkürler ama yine çalıştıramadım. Tablo yapılarını göndersem bir baksanız sorun bunda mı bende anlamdım. Ibexpert içinden denedim bu Sp'yi ama olmadı
CREATE PROCEDURE SP_KASATOPLAM (
tarih date)
returns (
toplam float)
as
begin
/* Procedure Text */
select sum(TBL_URUN.BIR_FIYAT) from tbl_urun, tbl_satis
where tbl_urun.URUN_ID=tbl_satis.URUN_ID and TBL_SATIS.TARIH=:TARIH
into :toplam;
suspend;
end^
SET TERM ; ^
GRANT SELECT ON TBL_URUN TO PROCEDURE SP_KASATOPLAM;
GRANT SELECT ON TBL_SATIS TO PROCEDURE SP_KASATOPLAM;
GRANT EXECUTE ON PROCEDURE SP_KASATOPLAM TO SYSDBA;
Arkadaşlar tablo yapısı ve SP bu. Tarih alanını ibexpert içinden parametre olarak göndermeme rağmen sonuç alamıyorum
CREATE PROCEDURE SP_KASATOPLAM (
tarih date)
returns (
toplam float)
as
begin
/* Procedure Text */
select sum(TBL_URUN.BIR_FIYAT) from tbl_urun, tbl_satis
where tbl_urun.URUN_ID=tbl_satis.URUN_ID and CAST(TBL_SATIS.TARIH AS DATE)=:TARIH
into :toplam;
suspend;
end^
Hakan can çok teş. çalıştı. Fakat tablomdaki alana baktımda timestamp değilde date olarak tanımlamışım Sayenizde öğrenicem bu sql, firebird inşallah. Kolay gelsin.