إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

تعديل زناد trigger


3 رد (ردود) على هذا الموضوع

#1 maher1215

maher1215

    عضو

  • الأعضــاء
  • 4 مشاركة

تاريخ المشاركة 29 December 2010 - 03:38 AM

السلام عليكم
ارجو قبولي كعضو جديد في موقعكم هذا
واحب الاسفسار
بصفتي مبتدئ
عن الزناد
عملت زناد أمس واريد تعديله اليوم كيف يمكنني مراجعته ورؤيته داخل sql
أي اريد عرضه فحسب
وشكرا

#2 maher1215

maher1215

    عضو

  • الأعضــاء
  • 4 مشاركة

تاريخ المشاركة 29 December 2010 - 03:59 AM

مشكورين شباب
خلاص مشي الحال
بعد ما تعذبت وبحثت بكل الموقع
وبكل المواقع العربية
وبكل الكتب والدروس اللي مريت عليها
ماحصلت طلبي
بعديت رحت على البحث باللغة الانكليزية ومن اول صفحة لقيت الحل والحل هو
SQL> select trigger_name from USER_TRIGGERS
  2  ;
الجملة السابقة لرؤية الزنادات المنشاة
TRIGGER_NAME
------------------------------
INSERTNEW
الزناد الذي أنشاته

SQL> set long 100000; حجز كمية كافية لعرض الزناد
SQL> select DESCRIPTION, TRIGGER_BODY
  2  from user_triggers
  3  where trigger_name='INSERTNEW';

DESCRIPTION
--------------------------------------------------------------------------------
TRIGGER_BODY
--------------------------------------------------------------------------------
insertnew
وهذا هو الزناد
before insert on emp for each row

begin if inserting then
    insert into local(sn,name,br_date,passno,national)
   values  (:new.id,:new.name,:new.br_date,:new.passno,:new.national);
   insert into jobsal(sn,name,job,salary,time)
  values (:new.id,:new.name,:new.carer,:new.salary,:new.time);
  end if;

DESCRIPTION
--------------------------------------------------------------------------------
TRIGGER_BODY
--------------------------------------------------------------------------------
  end;
واريد التعديل في حالة الأب ديت أو الديليت

SQL> أرجو الاهتمام ببعض الامور التي تبدو برأيكم تافهة

#3 maher1215

maher1215

    عضو

  • الأعضــاء
  • 4 مشاركة

تاريخ المشاركة 29 December 2010 - 05:43 AM

وهذا زناد الحذف
create or replace trigger deleteone
 after delete on emp for each row
  begin
 if deleting then
 delete from local
 where local.sn=:old.id;
 delete from jobsal
 where jobsal.sn=:old.id;
 end if;
 end;
/
وهذا زناد التعديل
      create or replace trigger updatenew
     	after update on emp for each row
      begin
  if updating then
   update local
   set
  local.sn=:new.id,
  local.name=:new.name,
  local.br_date=:new.br_date,
  local.passno=:new.passno,
  local.national=:new.national
where local.sn=:new.id;
update jobsal
set
  jobsal.sn=:new.id,
  jobsal.name=:new.name,
  jobsal.job=:new.carer,
  jobsal.salary=:new.salary,
  jobsal.time=:new.time
   where jobsal.sn=:new.id;
 	end if;
      end;
/
ويمكن دمج الثلاثة بزناد واحد مع اداة الشرط if
يعني تعبئة ورشاً ودراكاً بزناد واحد ؟؟؟؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!!!

#4 Eng_AL_kamel

Eng_AL_kamel

    عضو نشط

  • الأعضــاء
  • 345 مشاركة
  • الاسم الأول:Ibraheem
  • اسم العائلة:Qaed
  • البـلـد: Country Flag
  • المنصب الحالي:DBA

تاريخ المشاركة 30 December 2010 - 01:04 AM

بارك الله فيك
اخي maher1215
تمنياتي لك بالتوفيق والنجاح

O Allah, You are the best forgiver, beneficent and merciful