الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال في تحديث جدول من آخر

مغلق
بدأه C-Sharp في 6 يونيو 2005 · 4 رد · 646 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم،

كيف يمكنني تحديث البيانات الموجودة في جدول معين بناء على البيانات الموجودة في آخر؟ بمعنى آخر، إذا كان الجدول الأول يحتوي على القيمة 5 في أحد أعمدته و في الجدول الثاني يجب أن يحتوي نفس القيمة مضروبة في 5، ففي هذه الحالة تكون القيمة في الجدول الثاني 25 و عند تحديث الجدول الأول و تغيير القيمة من 5 إلى 6 تتغير القيمة في الجدول الآخر آليا لتصبح 30! هل يمكن عمل ذلك عن طريق SQL، أم أن علي أن أعيد كتابة الجدول الثاني في كل مرة أحدث فيها الجدول الأول؟!

و جزاكم الله خيرا

#2

اوكي

فنفترض انه انت لديك جدولين بسيطين جدا

جدول واحد فيه الحقول التالية

id

name

و جدول 2 فيه الحقول التالية

id2

id

name

الان تريد ربط الجدولين ببعض عى اساس انه لو تم تعديل البيانات في جدول واحد في العمود id تريد تحديث العمود id في جدول اتنين ايضا

تعمل الاتي:

تحدد ال id في جدول واحد كمفتاح اساس

تقوم بعمل علاقة one 2 many و لكن هنا خلي بالك

في اخر صفحة العلاقات ستجد

add cascade update علم على المربع المقابل لها

و بالتالي عند تحديث حقل ال id سيتم تحديثه في جدول اتنين و اعتقد انه الطريقة تمشي لو في عملية حسابية ستجريها على الحقل قبل تعديله

جرب و قوللي

Mahmoud Magdy

MVP - Exchange Server. MCITP (Windows Server 2008, Exhcange Server 2010,/2007),CCNP, MCTS(OCS 2007 R2, SCCM 2007)

Tech Lead

Ingazat Information Technology

Follow me on twitter: http://www.twitter.com/_busbar

my blog: http://autodiscover.wordpress.com

Link with me on linkedin: http://www.linkedin.com/profile?viewProfile=&key=71027694

or on experts-exchange.com: http://www.experts-exchange.com/M_1426100.html

#3

الأخ C-Sharp

اقتباس
كيف يمكنني تحديث البيانات الموجودة في جدول معين بناء على البيانات الموجودة في آخر؟ بمعنى آخر، إذا كان الجدول الأول يحتوي على القيمة 5 في أحد أعمدته و في الجدول الثاني يجب أن يحتوي نفس القيمة مضروبة في 5، ففي هذه الحالة تكون القيمة في الجدول الثاني 25 و عند تحديث الجدول الأول و تغيير القيمة من 5 إلى 6 تتغير القيمة في الجدول الآخر آليا لتصبح 30! هل يمكن عمل ذلك عن طريق SQL، أم أن علي أن أعيد كتابة الجدول الثاني في كل مرة أحدث فيها الجدول الأول؟!

لاداعي لإعادة كتابة الجدول الثاني، ويمكن عمل ذلك بTrigger، سأقوم بكتابته لك لاحقاً إن شاء الله.

فكر بطريقة أخرى

#4

شكرا لك أخي busbar على ردك... الطريقة التي ذكرتها ليست هي بالضبط ما أريد. هذه الطريقة تنفع إذا كنت أريد أن يتم التعديل على المفتاح الأجنبي (Foreign Key) في حالة تغيرت قيمة المفتاح المرجع (Reference Key) بينما التحديث الذي أتكلم عنه يمكن أن يتم بإجراء عمليات حسابية و ليس شرطا أن يكون على المفتاح الأجنبي (Foreign Key)

شكرا لك أخي walcom، و أنا بانتظار الفكرة التي طرحتها.

#5

اخ نسيت موضوع التريجر ده خالص

اسف يا مان الحل فعلا في التريجر مش الطريقة اللي قولت عليها

Mahmoud Magdy

MVP - Exchange Server. MCITP (Windows Server 2008, Exhcange Server 2010,/2007),CCNP, MCTS(OCS 2007 R2, SCCM 2007)

Tech Lead

Ingazat Information Technology

Follow me on twitter: http://www.twitter.com/_busbar

my blog: http://autodiscover.wordpress.com

Link with me on linkedin: http://www.linkedin.com/profile?viewProfile=&key=71027694

or on experts-exchange.com: http://www.experts-exchange.com/M_1426100.html

هذا الموضوع مغلق.

مواضيع مشابهة