كيفية التعامل مع الـ Trigger
#4
السلام عليكم

بارك الله فيك

PHP كود :
CREATE TRIGGER TEST_TRIG FOR TEST
 ACTIVE BEFORE INSERT POSITION 0
 
AS
 
begin
    
if (new.id is null) then
       
new.id=gen_id (GLOB_ID,1);
 
end 

كاظافة في حالة اردت الحصول على القيمة الحالية للـ generator (تقوم برفع العداد بقيمة 0 بدل 1) :
PHP كود :
CREATE TRIGGER TEST_TRIG FOR TEST
 ACTIVE BEFORE INSERT POSITION 0
 
AS
 
begin
    
if (new.id is null) then
       
new.id=gen_id (GLOB_ID, 0]);
 
end 

بهذه الطريقة يمكنك ان تعرف السجل القادم عن طريق اضافة 1 بعد استدعاء الكود السابق عن طريق stored procedure من خلال برنامجك اضف انك لن تهدر قيم الـ generator

FireBird لا يتوفر على الترقيم التلقائي بنفس مفهوم اكسس على سبيل المثال و انما يمكن تطبيق نفس المبدأ عن طريق عدادات تسمى generator او sequence و للتنويه اسمان يعنيان نفس الامر
generator = sequence قبل الاضافة ترفع قيمة العداد باستخدام Before Insert Trigger يعجبني تفكير FireBird Rolleyes

ان شاء الله افدتكم
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد


الردود في هذا الموضوع
كيفية التعامل مع الـ Trigger - بواسطة Delphi4Us - 04-12-2013, 11:38 AM
كيفية التعامل مع الـ Trigger - بواسطة Delphi4Us - 09-12-2013, 12:14 PM
كيفية التعامل مع الـ Trigger - بواسطة S.FATEH - 09-12-2013, 07:23 PM
كيفية التعامل مع الـ Trigger - بواسطة Delphi4Us - 07-01-2014, 08:44 AM
كيفية التعامل مع الـ Trigger - بواسطة Delphi4Us - 13-01-2014, 09:35 AM
كيفية التعامل مع الـ Trigger - بواسطة bassem_43 - 07-12-2013, 02:11 PM
كيفية التعامل مع الـ Trigger - بواسطة Delphi4Us - 07-12-2013, 07:29 PM
كيفية التعامل مع الـ Trigger - بواسطة S.FATEH - 08-12-2013, 12:36 PM
كيفية التعامل مع الـ Trigger - بواسطة Delphi4Us - 08-12-2013, 02:13 PM

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


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