الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Trigger For Insert Data To Other Tables

Featured Replies

بتاريخ:

بسم الله الرحمن الرحيم
اولاً انا اعمل علي اوركل 9 اي وفورم 6 اي
لدي جدولين الاول باسم reg به قيد مفتاح اساسي والثاني باسم payed حاولت ان اعمل تريقر علي sql عند عمل ادخال علي الجدول الاول يقوم بتحويل بعض الحقول علي الجدول الثاني لكن لم انجح ارجوا اعطائي الحل واذا كان ممكن اعمل التريقر علي مستوي الفورم مع الزر حفظ ...ماهو الكود ..... هذه هي الجداول
=====================================
create table reg
(num number(5),
id varchar2(15),
sname varchar2(200),
gender varchar2(2),
tel number(15),
area varchar2(20),
r_date date not null,
constraint emp_id_pk primary key (id));
======
create table payed
(num number(5),
id varchar2(15),
fpay number(10),
fdate date,
spay number(10),
sdate date ,
total number(10));

====
هذا هي محاولتي لعمل تريقر علي SQl

.......
create or replace trigger reg_pay
before insert as

begin
insert into payed(num,id)values(num,id);
end;

table.txt

بتاريخ:

create or replace trigger moving_data 
after insert on reg 
begin insert into reg (id , num)  select id ,num from payment ;
end ;

بتاريخ:

السلام عليكم ورحمة الله وبركاته
اذا كانت الفورم تعمل على جدول واحد فقط reg وليس جدولين يمكن عمل الاتى
اولا بالنسبه لجملة ال insert ارجو التعديل بحيث تصبح على الشكل التالى
begin
insert into payed(num,id)values(:num,:id);
end;
ثانيا قد تحتاجين الى وضع الكود فى ال post insert وبهذا بعد ان تتم عملية الحفظ مباشرة سوف يقوم بعملية تسجيل الداتا فى الجدول الثانى
* هذا الحل على مستوى الفورم وليس الداتابيز

بتاريخ:

الاخ هشام اعطا الحل لكن هناك مشكله في الكود وهي في كل لمه تدخل على الجدول الاول يقوم بادخال كل البيانات من الجدول الاول الى الجدول الثاني
جرب هذا الكود

create or replace trigger moving_data 
after insert on reg 
for each row 
begin insert into play (id , num) values(:new.id,:new.num(
end;

بتاريخ:
  • كاتب الموضوع

بسم الله الرحمن الرحيم
الاخوة الكرام
والله شاكرة لكم جزيل الشكر وربنا يضع اعمالك في ميزان حسناتكم ..آمين ... كل الحلول المزكورة عملت معي تماماً بس عندي سؤال بسيط
عند عمل زر حزف من النموزج reg اللي هو ماستر من المفترض يحزف الحقل المرتبط به في الجدول pay شو اسوي

بتاريخ:

بسم الله الرحمن الرحيم


السلام عليكم و رحمة الله و بركاته

الاخت الفاضلة او الاخ الكريم ....

اذا اردت ان تصمم زر يتم فيه حذف الاساسي و المتعلق به هناك اكثر من طريقة .
- الطريقة الاولي في حالة ان تكون الفورمة Wizard بمعني ان يكون البلوك علي الفورمة به خاصية Database data block واخدة قيمة yes و العناصر الموجودة علي الفورمة لها خاصية Database item واخد القيمة yes ...في هذه الحالةيجب التأكد من وجود Constraint بين الجدولين الاساسي و الفرعي و بعدها عمل زر يكتب فيه كلمة Delete_record فيقوم بمسح الاساسي و بالتالي الفرعي ايضا لوجود علاقة بين الجدولين و لكن يجب ان FK Constraint في الحالة Cascade لكي يسمح بالحذف للاساسي و الفلرعي معه .

- - الطريق الثانية في حالة ان تكون الفورمة manual بمعني ان يكون البلوك علي الفورمة به خاصية Database data block واخدة قيمة no و العناصر الموجودة علي الفورمة لها خاصية Database item واخد القيمة no ...في هذه الحالةيجب التأكد من وجود Constraint بين الجدولين الاساسي و الفرعي و بعدها عمل زر يكتب فيه جملة الحذف التالية :

[يسار]Delete reg
Where id = :id ;
Commit;


فيقوم بمسح الاساسي و بالتالي الفرعي ايضا لوجود علاقة بين الجدولين و لكن يجب ان FK Constraint في الحالة Cascade لكي يسمح بالحذف للاساسي و الفلرعي معه .

- الطريقة الثالثة:

هو التأكد من بناء FK Constraint في حالة Cascade و الاعتمادج عل يشريط الادوات الذي يظهر في الفورمة عند التشغيل و الايقونة خذف

أسألكم الدعاء

[/يسار]

______________________.doc

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.