Selamlar;
FB için bir veritabanı tasarım programı yazıyorum benim triggerimin bir triggerin olup olmadığını kontrol etmesini eğer yoksa o zaman trigger oluşturmasını istiyorum.
triggerim şöyle (üst kısmı iboconsole oluşturuyor.)
AS
DECLARE VARIABLE TRIGGER_COUNT INTEGER;
declare variable baglanti_tablo varchar(250);
declare variable baglanti_alan varchar(250);
declare variable firma_tablo varchar(250);
declare variable firma_alan varchar(250);
begin
select count(*) from rdb$triggers where (rdb$trigger_name='LNK'||new.alanadi) INTO TRIGGER_COUNT;
if (trigger_count=0) then
begin
baglanti_tablo=new.link_tablo;
baglanti_alan=new.link_alan;
firma_tablo=new.tabloadi;
firma_alan=new.alanadi;
CREATE TRIGGER 'LNK'||new.alanadi FOR FIRMA
ACTIVE BEFORE INSERT OR UPDATE POSITION 0
AS
declare variable varmi integer;
begin
select count(*) from baglanti_tablo where (baglanti_tablo.baglanti_alan=new||'.'||firma_alan) into varmi;
if (varmi=0) then
begin
insert into baglanti_tablo (baglanti_alan) values (new||'.'||firma_alan);
end
end
end
end
burada amaç alanadi isimli alana girilen alan adı ile ilgili trigger yoksa o zaman onunla ilgili trigger oluşturmak. Ama create trigger kısmına gelince kod hata veriyor. İçinden çıkamadım bi yardımcı olursanız sevinirim
peki bu execute statement içinde örneğin new.alanadi yazdığımda buradaki new o cümle içinde mi geçerli olur yoksa onu tetikleyen trigger da mı yani global mi olur yoksa local mi