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

Rollback & Return

بدأه تيجر 2000 في 19 أبريل 2014 · 3 رد · 412 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

ماهو الفرق بين استخدام كلمه

Rollback & Return

عند عمل Trigger

 

مثال

--------

alter trigger eee
on rrr
instead of insert
as begin
declare @no int
select @no = jobid from job j join inserted  i on j.[job name] = i.[job name]
if (@no is null )
       begin
       print 'sorry I Cant'
       return
       end
    
insert into emp (firstname ,city ,jobid)select  firstname,city,@no from inserted
end

----------------------------------------

 

alter trigger tr_stop
on emp
after delete
as begin
         if exists (select 1 from deleted  as i where (len (i.firstname )> = 5 ) and i.jobid  is null)
         begin
         print 'Sorry I Cant Name Over Than 5 Char And Job Is Null'
         rollback
         end
end

#2

السلام عليكم

 

Rollback هي للتراجع عن العمليات او التعديلات التي جرت اي لن يتم عمل اي تعديل على الجدول .

بينما Return  فهي كما هو تعريفها في لغات البرمجة اي الخروج من الدالة الحالية اي هنا من التريجر

#3

شكرا لك اخى العزيز


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


 


ولا كل واحده منهم لها اهميتها ويجب استخدامها فى كل حاله معينه


#4

لا اعتقد وجود كلمة تقوم بالعمليتين معاً

وايضا يجب ان تستخدم raiseerror  في حالة وجود خطأ

RAISERROR('Error', 16, 1);ROLLBACK;

واذا وجد شيء بعد ذلك ولا تريد ان ينفذ تستخدم return

RAISERROR('Error', 16, 1);ROLLBACK;return;......other cide

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