مشكلة في حقل Increment field (فايربارد)
#1
السلام عليكم

لدى إستعمالي قاعدة بيانات من نوع firebird أنشأت جدول يحتوي على حقل تلقائي الزيادة (Auto-Increment fields) ولكن المشكلة أنه لا يضيف في كل إضافةجديدة. إستعملت تعليمات الـfirebird بإضافة trigger لكن دون جدوى :

كود :
CREATE TRIGGER autoincrementor_id FOR new_one ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.col1 IS NULL) THEN NEW.col1 = GEN_ID(my_gen_id,1); END

بإستعمال مكون IBDataSet1 ممكن ضبط العملية كما تبين الصورة المدرجة لكن لم تعطيني المطلوب !!!


الملفات المرفقة
.jpg   er.JPG (الحجم : 15.43 ك ب / التحميلات : 14)
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
الرد
#2
و عليكم السلام و رحمة الله

ينقص الـ Generator :p

مثال
كود :
CREATE SEQUENCE GEN_NEW_TABLE_ID ; create trigger new_table_bi for new_table active before insert position 0 as begin if (new.new_field is null) then new.new_field = gen_id(gen_new_table_id,1); end ;
بالتوفيق
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم