merhaba arkadaşlar firebird veri tabanı ile bir proje geliştiriyorum. Ancak kod ile delphi içerisinden veritabanı güncellemeleri yapmam gerekiyor, diyelim ki ben programın veritabanına bir trigger ekledim ve exeyi güncelleme olarak webe yükledim yeni versiyonu indiren kullanıcının bunu güncelleyebilmesi için de bir sql hazırladım sql i çalıştırdığımda veri tabanına istediğim alan trigger ve procedure ekleyebiliyorum ancak sorun şudur ki
Delphi İçerisinden veri tabanında o trigger ve procedur un olup olmadığını nasıl kontrol ettirebilirim.
Database içinde trigger procedure ve tablodaki bir alan varm
Sistem tabolarında istediğin kontrolu yapman mümkün. Mesela RDB$PROCEDURES tablosunda RDB$PROCEDURES_NAME alanında senin procedure ismin var mı diye sorgu/select çekebilirsin;
Aynı şekilde RDB$TRIGGERS tablosunda aradığın trigger in olup olmadığını ve RDB$RELATION_FIELDS tablosunda da istediğin tablonun aradığın alanının olup olmadığını benzer şekilde sorgulayabilirsin
Kod: Tümünü seç
select count(*) from RDB$PROCEDURES
where RDB$PROCEDURES_NAME = 'SP_BENIM_PROCEDURUM'
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Veri Tabanına Kod İle Trigger Ekleme
teşekkürler rasim hocam konuyu siz cevabı yazmadan çözmüştüm diğer arkadaşlara tam örnek olması açısından kodu paylaşıyorum
Kod: Tümünü seç
qAra.Close;
qAra.SQL.Clear;
sql:='SELECT * FROM RDB$TRIGGERS WHERE RDB$TRIGGER_NAME ='+QuotedStr('YeniServis');
qAra.sql.add(sql);
qAra.open;
if qAra.IsEmpty then
begin
qEkle.SQL.Clear;
sql1:='CREATE TRIGGER "YeniServis" FOR SERVIS ACTIVE AFTER INSERT POSITION 0 AS BEGIN post_event'+QuotedStr('Yeni Servis')+';End';
qEkle.SQL.Add(sql1);
qEkle.exEcSQL;
TSERVIS.CommitRetaining;
end;