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

Update من جدول الي أخر

Featured Replies

بتاريخ:

أخواتي الكرام

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


عندي مشكلة بسيط بإزن الله

عندي 2 جدول علي ازكيما واحده

جدول الموظفين وجدول الحالة التعليمة للموظف (عايز اعمل اب ديت من جدول الموظفين الي جدول الحالة التعليمية)

عايز انقل البيانات الموجوده من حقل employee_id الموجود في جدول الموظفين الي employee_id الموجود في جدول الحالة التعليمية

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

انا استخدمت الكود ده ومش مظبوط معايا

update educations
set educations.employee_id=(select employee_id from employees
where educations.employee_id=employees.employee_id);

ما الحل اخواتي في الله

بتاريخ:

اخي العزيز


ما المعنى من استفسارك هذا ،،، إذا كانت هناك علاقة اعتمادية بين الجداول فلن تحتاج لعمل تلك العملية
أي إذا كان employee_id الموجود بجدول الحالة التعليمية FK للموجود بجدول الموظفين فإنك لن تستطيع تغيير الPK طالما هناك بيان في جدول آخر يعتمد عليه

بتاريخ:
أخواتي الكرام

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


عندي مشكلة بسيط بإزن الله

عندي 2 جدول علي ازكيما واحده

جدول الموظفين وجدول الحالة التعليمة للموظف (عايز اعمل اب ديت من جدول الموظفين الي جدول الحالة التعليمية)

عايز انقل البيانات الموجوده من حقل employee_id الموجود في جدول الموظفين الي employee_id الموجود في جدول الحالة التعليمية

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

انا استخدمت الكود ده ومش مظبوط معايا

update educations
set educations.employee_id=(select employee_id from employees
where educations.employee_id=employees.employee_id);

ما الحل اخواتي في الله


السلام عليكم ورحمة الله وبركاته
بعد التحية
اخي فالله
جرب كده اضافة اخر سطرين او نفذ الكود المرفق هذا
update educations
set educations.employee_id=(select employee_id from employees where educations.employee_id=employees.employee_id)
WHERE EXISTS(select employee_id from employees where educations.employee_id=employees.employee_id)


وفقك الله الى ما تحب ويرضي

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

أشكركم علي الاجابات
جربت الكود ولكن اداني zero row update

مع ان الكولم بتاع جدول الموظفين يوجد في 250 موظف

انتظر الحل أخواتي

اشكركم

بتاريخ:

المشكلة غير واضحة

بتاريخ:

مرحبا
شي طبيعي ما يعدل اي سجل لانه انت ما غيرت قيمة رقم الموظف؟؟
الهدف من رقم الموظف هو ربط الجدولين و عليه انت لازم تعمل:

update educations a set a.field1=(select b.field1 from emp b where b.empno=a.empno);
commit



و احنا هيك عملنا تعديل لقيمة field1 في جدول التعليمة اللي اخذناها من جدول الموظفين و ربطنا رقم الموظف في الجدولين.

بتاريخ:

هفرض أن هناك جدول خاص بالموظفين يدعي Employees ، وجدول آخر خاص بنسخ بيانات الموظفين يدعي EmpCopys ، وبياناتهما كما يلي :

CREATE TABLE EMPLOYEES
(
  EMPLOYEES_NO  NUMBER(10),
  EMPLOYEES_NAME VARCHAR2(20),
  CONSTRAINT PK_EMPLOYEES PRIMARY KEY(EMPLOYEES_ID),
  CONSTRAINT UQ_EMPLOYEES_NAME UNIQUE(EMPLOYEES_NAME)
)
/

CREATE TABLE EMPCOPYS
(
  EMPCOPYS_NO	  NUMBER(10),
  EMPCOPYS_NAME  VARCHAR2(20),
  CONSTRAINT PK_EMPCOPYS PRIMARY KEY(EMPCOPYS_ID),
  CONSTRAINT UQ-EMPCOPYS_NAME UNIQUE( EMPCOPYS_NAME)
)
/



المطلوب ، كل حركة تتم داخل جدول الـ Employees ، تنفذ علي جدول EmpCopys ، وهناك حلين ، إما إنشاء Trigger علي مستوي جدول الموظفين ، أو علي مستوي بلوك البيانات Form الخاص بالموظفين ، عموماً إليك الطريقة الأولي :

CREATE OR REPLACE TRIGGER TRG_BEFORE_EMPLOYEES BEFORE INSERT OR UPDATE  OR DELETE ON EMPLOYEES
FOR EACH ROW
DECLARE

BEGIN
  IF(INSERTING)THEN
   INSERT INTO EMPCOPYS VALUES(:NEW.EMPLOYEES_NO, :NEW.EMPLOYEES_NAME);
  ELSIF(UPDATING)THEN
   UPDATE EMPCOPYS SET EMPCOPYS_NO = :NEW.EMPLOYEES_NO,
										   EMPCOPYS_NAME = :NEW.EMPLOYEES_NAME
   WHERE  EMPCOPYS_NO = :NEW.EMPLOYEES_NO;
  ELSE
   DELETE FROM EMPCOPYS WHERE EMPCOPYS_NO = :NEW.EMPLOYEES_NO;
  END IF;
END;
/




وتقريباً نفس الفكرة تنشأ في Form --> Employee Block --> Post Trigger






بالتوفيق

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

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

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

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

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

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.