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

مشكلة في تريقر .. سآعدوني الله يسعدكم

بدأه B R O D - A 3 9 A B في 30 ديسمبر 2008 · 3 رد · 1,067 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عندي جدولين : 1- جدول الحجوزات 2- الارشيف

ابغى اذا حذفت سجل من جدول الحجوزات .. يتم نقله لجدول الارشيف

سويت تريقر وحاولت في تعديله اكثر من 20 مرره .. لكن للاسف مو راضي يضبط

الحقول في الجدولين متساويه بالاسم والنوع .. ماعدا حقل واحد مثلا اسمه (booking_Id)

في جدول الحجوازات مفتاح اساسي .. وفي جدول الارشيف بدون مفتاح

وبينهم طبعا علاقه

وهذا كود التريقر :

create trigger D_bookingcars

on bookingcars

for delete

as

insert Archives

select d.Booking_Id, d.ModelNum, d.ModelName, d.Color, d.CarSize, d.Orignal_Price, d.Discont, d.Payment_Received, d.OrderState

from deleted d join Archives a

on d.Booking_Id = a.Booking_I

ياليت تفيدوني وبـأسرع وقت .. والله يوفق ويسعد من يساعدني

#2

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

بما ان هناك حقل مختلف لذا عليك وضع اسماء الحقول لجدول الارشيف

هكذا مع تغيير اسم الحقل المختلف

insert into Archives (d.Booking_Id, d.ModelNum, d.ModelName, d.Color, d.CarSize, d.Orignal_Price, d.Discont, d.Payment_Received, d.OrderState )

select .....

#3

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

اخي العزيز

جملة insert في التريجر اعتقد انها نافصة والمفروض تبقى insert into <tableName>

وهناك نقطة ثانية

وهي ان الجملة التي بها الربط تربط السجل بعد الالغاء وهو غير موجود والصح ان يتم الاضافة في الجدول الارشيف ثم يتم الالغاء من الجدول الاصلي

انا اعتقد الحل الافضل من البرنامج وليس من التريجر

وهو ان تضيف السجل اولا ثم تقوم بالغاءه من الجدول الاصلي

وهناك حل آخر وهو عدم الالغاء اصلا

وانشاء حقل جديد في نفس الجدول الاصلي

ونكتب فيه واحد لو كان السجل ملغي

وصفر اذا كان السجل غير ملغي

والتصفية على هذا الحقل

من الممكن معرفة الملغي والغير ملغي

#4

اممممم Tareqvb - 88888888 .. جدا جدا مشكورين على ردودكم ..

لكن حصلت الحل ..

وهو ان انا مسويه علاقه بين الجدولين وهذي سببت مشكله رقم 1

ثاني شي المفروض مافيه join

يعني الحل كذا

alter trigger D_bookingcars

on bookingcars

for delete

as

insert Archives (Booking_Id, ModelNum, ModelName, Color, CarSize, Orignal_Price, Discont, Payment_Received, OrderState)

select d.Booking_Id, d.ModelNum, d.ModelName, d.Color, d.CarSize, d.Orignal_Price, d.Discont, d.Payment_Received, d.OrderState

from deleted d

والحمــد لله ضبــط ..

والف شكر لكم على مساعدتكم ..

تم تعديل هذه المشاركة بواسطة B R O D - A 3 9 A B في 31 ديسمبر 2008 في 02:38

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