Konuyu Oyla:
  • Derecelendirme: 5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Firebird Trigger'a parametre gönderme
#1
Selam, aşağıdaki konuyu incelerseniz MS SQL için trigger a dışarıdan parametre gönderme olayının nasıl çözüldüğünü görebilirsiniz (@vkamadan sağolsun).
http://www.delphican.com/trigger-a-param...7#pid16937

Bende firebird için böyle bişi aramıştım yıllar önce, şimdi @vkamadan yazınca bi deniyeyim dedim ve güzel bi sonuca ulaştım.
Birileri ararsa burda bulsunlar en azından.

Yazılım (Delphi) içinden bir değişkene değer atamak için ;
select rdb$set_context('USER_SESSION', 'Parametre', '100') from rdb$database
kodunu kullanabilirsiniz, Parametre isimli değişkene 100 değerini atadık.

Yazılım (Delphi) içinden bu değişkenin değerini okumak için ;
select rdb$get_context('USER_SESSION', 'Parametre') from rdb$database

Trigger veya StoredProcedure içerisinden bu değişkene ulaşmak içinse;
declare variable id1 integer;
begin
ID1 = RDB$GET_CONTEXT ('USER_SESSION', 'Parametre');
If ID1>0 .... 
If ID1=1 .... 
vs.vs.
WWW
Cevapla
#2
(23-05-2018, Saat: 10:55)esistem Adlı Kullanıcıdan Alıntı: Selam, aşağıdaki konuyu incelerseniz MS SQL için trigger a dışarıdan parametre gönderme olayının nasıl çözüldüğünü görebilirsiniz (@vkamadan sağolsun).
http://www.delphican.com/trigger-a-param...7#pid16937

Bende firebird için böyle bişi aramıştım yıllar önce, şimdi @vkamadan yazınca bi deniyeyim dedim ve güzel bi sonuca ulaştım.
Birileri ararsa burda bulsunlar en azından.

Yazılım (Delphi) içinden bir değişkene değer atamak için ;
select rdb$set_context('USER_SESSION', 'Parametre', '100') from rdb$database
kodunu kullanabilirsiniz, Parametre isimli değişkene 100 değerini atadık.

Yazılım (Delphi) içinden bu değişkenin değerini okumak için ;
select rdb$get_context('USER_SESSION', 'Parametre') from rdb$database

Trigger veya StoredProcedure içerisinden bu değişkene ulaşmak içinse;
declare variable id1 integer;
begin
ID1 = RDB$GET_CONTEXT ('USER_SESSION', 'Parametre');
If ID1>0 .... 
If ID1=1 .... 
vs.vs.

@esistem hocam, aradığım konu tam olarak bu ama nasıl kullacağımı anlayamadım. USER_SESSİON nedir, nasıl kullanacağım hakkında bilgi verebilmeniz mümkün mü?

 
Que_bankaid.Close;
  Que_bankaid.SQL.Clear;
  Que_bankaid.SQL.Add('select rdb$set_context(''sysdba'', ''Parametre'', 100) from rdb$database');
  Que_bankaid.Open;

böyle yaptım ama
sysdba rdb$set_context üzerinde geçersiz bir isim
dedi
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk

Eyvallah..
Cevapla
#3
Kullanıcı tarafından dışarıdan firebird e parametre atamak için gerekli bir koddur, misal dışarıdan "deger" adında, değeride 100 olan bir parametre atamanız gerekli;

select rdb$set_context('USER_SESSION', 'deger', '100') from rdb$database

şeklinde tanımlayabilirsiniz.
WWW
Cevapla
#4
(14-10-2019, Saat: 09:25)esistem Adlı Kullanıcıdan Alıntı: Kullanıcı tarafından dışarıdan firebird e parametre atamak için gerekli bir koddur, misal dışarıdan "deger" adında, değeride 100 olan bir parametre atamanız gerekli;

select rdb$set_context('USER_SESSION', 'deger', '100') from rdb$database

şeklinde tanımlayabilirsiniz.

@esistem hocam, mükemmel bir öğreti demekten başka söyleyecek bir şey bulamıyorum.
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk

Eyvallah..
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Firebird Ağ Yavaşlığı Nedenleri baloglurecep 14 1.839 08-07-2020, Saat: 20:53
Son Yorum: mrmarman
  Firebird'de Join'li Update nasıl yapılır? uparlayan 5 1.190 25-06-2020, Saat: 23:13
Son Yorum: MugenPower
  Firebird Request synchronization error uparlayan 6 647 30-05-2020, Saat: 10:58
Son Yorum: klavye
  Firebird 2.0 dan 3.0'a geçiş nasıl yapılmalı? baloglurecep 15 1.756 18-05-2020, Saat: 01:31
Son Yorum: Ahmet İPEKÇİ
  Firebird Monitor Yazılımı arıyorum boreas 3 611 08-05-2020, Saat: 13:32
Son Yorum: esistem



Konuyu Okuyanlar: 1 Ziyaretçi