الانتقال إلى المحتوى
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.

Insert

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله
كل عام وأنتم بخير بمناسبة الشهر الفضيل

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

بتاريخ:

وانت بالف خير
الاجراء كالتالي :
الجدول الاول في الفورم الاول ما عليه ايا تعديل
الجدول التاني سننشأ عليه تريغر في الداتا بيز
وهناك طريقتان عن طريق الداتا بيز او عن طريق الفورم
وانا افضل الداتا بيز في هذه الحالة حنكتب الكود التالي :
create or repalce trigger emp_update
after update on employees
for each row
begin
insert into table2 () values
(
:old.emp_id )
وهكذا
end;

هذه هي الفكرة اذا اردت التوضيح اكثر ارجو ارفاق الجداول

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

الله يعطيك العافية
بس إذا عملتو على مستوى الفورم فاي TRIGGER يمكن استخدامه
الجدول الأول :

CREATE TABLE DEPT_REQUESTS
(
 YEAR               NUMBER(4),
 REQUEST_ID         NUMBER,
 REQUEST_DATE       DATE                       NOT NULL,
 REQUEST_STATUS     NUMBER(2)                  NOT NULL,
 REQUEST_FROM_DATE  DATE,
 REQUEST_TO_DATE    DATE,
 DEPARTMENT_ID      VARCHAR2(12 BYTE),
 CREATION_USER      VARCHAR2(12 BYTE),
 LUPDATE_USER       VARCHAR2(12 BYTE),
 TRANS_FLAG         VARCHAR2(5 BYTE)           DEFAULT '00001',
 LUPDATE_DATE       DATE                       DEFAULT SYSDATE               NOT NULL,
 CREATION_DATE      DATE                       DEFAULT SYSDATE               NOT NULL,
 REQUEST_NOTE       VARCHAR2(2000 BYTEt)



الجدول الثاني

CREATE TABLE DEPT_EXCHANGES
(
 EXCHANGE_ID        NUMBER,
 YEAR               NUMBER(4),
 REQUEST_ID         NUMBER,
 REQUEST_DATE       DATE,
 REQUEST_STATUS     NUMBER(2),
 REQUEST_FROM_DATE  DATE,
 REQUEST_TO_DATE    DATE,
 DEPARTMENT_ID      VARCHAR2(12 BYTE),
 STORE_ID           NUMBER(10),
 CREATION_USER      VARCHAR2(12 BYTE),
 LUPDATE_USER       VARCHAR2(12 BYTE),
 TRANS_FLAG         VARCHAR2(5 BYTE)           DEFAULT '00001',
 LUPDATE_DATE       DATE                       DEFAULT SYSDATE               NOT NULL,
 CREATION_DATE      DATE                       DEFAULT SYSDATE               NOT NULL,
 DEPT_NOTE          VARCHAR2(2000 BYTE),
 EXCHANGE_DATE      DATE
)



طبعا اريد نسخ بعض الأعمدة من الجدول الأول للثاني وليس الكل

بتاريخ:

create or replace trigger DEPT_REQUESTS_update_trigger
after update on DEPT_REQUESTS
for each row
begin
insert into DEPT_EXCHANGES
(
اسماء الاعمدة التي تريدين ان تنسخيها
)
values
(
:old.اسم العمود من الجدول الاول
اسماء الاعمدة من الجدول الاول
(;
end;
هذه طريقة او يوجد طريقة اخرى بنفس الفكرة وهي تضمين اسماء الاعمدة من الجدول الاول في تعريف التريغر ولكن اعتقد ان هذه الطريقة كافية
بالتوفيق

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

الله يعطيك العافية يااخي
كتبت الكود التالي

create or replace trigger DEPT_REQUESTS_update_trigger
after update on DEPT_REQUESTS
for each row
begin insert into DEPT_EXCHANGES
(
YEAR,REQUEST_ID,REQUEST_DATE,DEPARTMENT_ID,REQUEST_STATUS,
REQUEST_FROM DATE,REQUEST_TO_DATE
)
values
(
:OLD.YEAR,:OLD.REQUEST_ID,:OLD.REQUEST_DATE,
:OLD.DEPARTMENT_ID,:OLD.REQUEST_STATUS,
:OLD.REQUEST_FROM_DATE,:OLD.REQUEST_TO_DATE
);
end;
/



واعطاني هذا الخطأ

PL/SQL: SQL Statement ignored
PL/SQL: ORA-00917: missing comma

فما الحل؟

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

بتاريخ:

السلام عليكم
ممكن تحديد الاعمده التي تريد ان تعمل عليها UPDATE ??
او قم بارفاق الفورم !! ..
بالتوفيق

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

وعليكم السلام
هذه الأعمدة التي أريد أخذ قيمتها بعد التعديل عليها وهي نفسها التي أريد نقل البيانات المعدلة إليها بس في جدول اخر
وشكرا

create or replace trigger DEPT_REQUESTS_update_trigger
after update on DEPT_REQUESTS
for each row
begin insert into DEPT_EXCHANGES
(
YEAR,REQUEST_ID,REQUEST_DATE,DEPARTMENT_ID,REQUEST_STATUS,
REQUEST_FROM DATE,REQUEST_TO_DATE
)
values
(
:OLD.YEAR,:OLD.REQUEST_ID,:OLD.REQUEST_DATE,
:OLD.DEPARTMENT_ID,:OLD.REQUEST_STATUS,
:OLD.REQUEST_FROM_DATE,:OLD.REQUEST_TO_DATE
);
end;
/

بتاريخ:

create or replace trigger DEPT_REQUESTS_update_trigger
after update of YEAR,REQUEST_ID,REQUEST_DATE,DEPARTMENT_ID,REQUEST_STATUS,REQUEST_FROM_DATE,REQU
EST_TO_DATE, on DEPT_REQUESTS
for each row
when 
(
new.YEAR<>old.YEAR or new.REQUEST_ID<>old.REQUEST_ID or new.REQUEST_DATE<>old.REQUEST_DATE or new.DEPARTMENT_ID<>old.DEPARTMENT_ID or new.REQUEST_STATUS<>old.REQUEST_STATUS or new.REQUEST_FROM_DATE<>old.REQUEST_FROM_DATE or new.REQUEST_TO_DATE<>old.REQUEST_TO_DATE
)
begin insert into DEPT_EXCHANGES 
(
YEAR,REQUEST_ID,REQUEST_DATE,DEPARTMENT_ID,REQUEST_STATUS,REQUEST_FROM_DATE,REQU
EST_TO_DATE,
(
values 
(
old.YEAR,old.REQUEST_ID,old.REQUEST_DATE,old.DEPARTMENT_ID,old.DEPARTMENT_ID,old
.REQUEST_STATUS,old.REQUEST_FROM_DATE,old.REQUEST_TO_DATE
);
end;



اتمنى ان يكون هذا الكود مناسبا ولاتنسا وضع : قبل old
بالتوفيق

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

الله يعطيك العافية يا أخي العزيز

جربت الكود اللي أعطيتني ياه بالخير ولم ينفع وأعطاني نفس الأخطاء السابقة

فهل هناك حل اخر ممكن من خلاله حل المشكلة

وشكرا

محبكم / من كل بحر قطرة

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

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

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

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

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

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.