Normalde select * from PRO_IDOLUSTUR('ABCDEF') komutu ile sonuç döndürüyor. Ama trigger içinde output parametresi yok uyarısı veriyor.Nedendir bilemedim.
Yardımlarınızı bekliyorum.
SET TERM ^ ;
CREATE OR ALTER PROCEDURE PRO_IDOLUSTUR (
DEGER VARCHAR(41))
RETURNS (
OUT_ID INTEGER)
AS
DECLARE VARIABLE OUT_IDVAR VARCHAR(25);
DECLARE VARIABLE TOPLAM INTEGER;
DECLARE VARIABLE ART INTEGER;
BEGIN
ART = 0;
TOPLAM = 0;
WHILE (ART < CHARACTER_LENGTH(DEGER)) DO
BEGIN
TOPLAM = TOPLAM + ((ART + 10) * (ART * ASCII_VAL(SUBSTRING(DEGER FROM ART + 1 FOR ART + 2))));
ART = ART + 1;
OUT_IDVAR = CAST(CHARACTER_LENGTH(DEGER) AS VARCHAR(10)) || CAST(TOPLAM AS VARCHAR(10));
END
OUT_ID = CAST(OUT_IDVAR AS INTEGER);
SUSPEND;
END^
SET TERM ; ^
SET SQL DIALECT 3;
SET TERM ^ ;
CREATE OR ALTER TRIGGER TRI_HASTALARGIRIS FOR HASTALAR
ACTIVE BEFORE INSERT OR UPDATE POSITION 0
AS
BEGIN
new.hastax = new.hasta_ad || '_' || new.hasta_soyad;
execute procedure pro_hastax('HASTALAR','HASTA_ID','HASTA_AD','HASTA_SOYAD',new.hasta_ad,new.hasta_soyad);
END^
SET TERM ; ^