roza_03

ماالفرق بين الدوال والاجراءات المخزنة وtigger

9 ردود في هذا الموضوع

صباح الخير للجميع

اتمني ان يتم الشرح لي عن الفرق بين الدوال والاجراءات المخزنة و tigger

فانا الان اعمل على برنامج لمكتبة مركزية وعندي مثلا جدول مسجل فية تاريخ الحرمان للطلبة اللذين تاخرو عن اعادة الكتاب وكذلك مسجل فية عدد ايام الحرمان واحتاج ان يتم حذف السجل اوتوماتيك اذا اصبح مجموع تاريخ بداية الحرمان مع عدد الايام يساوي تاريخ اليوم الحالي فما هو الافضل استخدام اي طريقة وهل اعمل اجراء مخزن ام tigger وكيف اعمل لها كول في الكود مع العلم اني اعمل على vb.net & SQL server2000

وهل يمكن اذا عملت دالة اعمل لها كول في كود vb

اشكر مقدما كل من يحاول مساعدتي

0

شارك هذا الرد


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

احتاج شرح وافى لكل من trigger و stored procedure

Triggers And Functions

اما بخصوص كود المكتبة فارسل الكود اليوم لانى الان لا املك ال MS SQL Server للتجربه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

كتبت Tigger لحذف كل سجل في جدول الحرمان اذا كان تاريخ الحرمان اقل من او يساوي تاريخ النظام (اتوقع ان الكود يكون فية مفاهيم متداخلة لان مالي الا اسبوع ونص بادية اتعلم SQL server )

CREATE TRIGGER [deleteFromTable] ON dbo.deprived 
FOR INSERT, UPDATE, DELETE
AS
declare @date datetime

while (@@fetch_status=0)
begin
select @date=(select DeprivedEnd from  [dbo].[deprived])
if  @date<=GETUTCDATE()
delete from deprived where [email protected]

end

وكذلك عملت دالة لارجاع مدة الاستعارة للفئة بحيث عندي ثلاث جداول جدول فئات الاستعارة(رقم الفئة والمدة)جدول المستعيرين(رقم المستعيرورقم الفئة)وجدول الاستعارة (رقم المستعير وتاريخ بداية الاستعارة) واريد اتاكد عند اعادة الكتاب ان الشخص لم يتعدى مدته المسموحة(الدالة ترجع مدة الاستعارة المسموحة للشخص حسب الفئة)

CREATE FUNCTION [OWNER].[returnBorrowingDay] 
()
RETURNS tinyint
BEGIN

declare @nodate tinyint

set @nodate=(select borrowerClassification.duration from borrowerClassification,bookLoan,borrower
where  borrower.borrowerSetNO=borrowerClassification.setNO and bookLoan.membershipNO=borrower.membershipNO)

return @nodate

END

اتمنى اعطائي راي حضرتك هل اختياري لمهمة الtigger صحيحة بحيث انة يقوم بهذا العمل وكذلك الدالة لان اللبس واقع عندي متى استخدم tigger ومتى استخدم دالة ومتى اعمل اجراء مخزن

وهل صحيح اللي انا فهمتة وهو ان الدالة والاجراء المخزن ممكن اناديهم من الVB اما الtigger اضعة فقط على الجدول

وهل يمكن عمل tigger يقارن بيانات من جدول اخر

وجزاك الله خير عن كل ما تقدمة

تم تعديل بواسطه roza_03
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

يااخوان ممكن احد يرد على استفساري

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

تحياتي لكل الاعضاء في المنتدى

رح نركز على فكرة trigger وتاريخ الحرمان.

بالبداية trigger على الجدول لا يعمل تلقائيا بدون اي حركة على الجدول والمقصود بحركة على الجدول اي عملية اضافة او حذف او تحديث

لذلك ان trigger لا ينفع في عملية الكشف عن انتهاء تاريخ الحرمان لأنه يجب ان يعمل النظام تلقائيا بدون اي عملية على الجدول وذلك على فرض ان المكتبة مرت بفترة عطلة ولم يعمل احد على النظام في هذه الفترة .

اذا الحل هنا هو عمل اجراء مخزن stored procedure ووضعه في job ونجعل job يعمل كل يوم او ساعات او في ايام او اسبوع

وسأسهب في كيفية عمل job بالصور لأنني رأيت اكثر من مرة سؤال عنها.

بالبداية سنكتب الاجراء المخزن

CREATE PROCEDURE MyProc
AS delete   from deprived where DeprivedEnd = GETUTCDATE()

GO

وسنتابع بكيفية عمل job

تم تعديل بواسطه walcom
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

كيفية عمل job ووضع الاجراء الذي كتبناه سابقا MyProc ووضعه في job ليعمل كل يوم تلقائيا في الساعة 1 ليلا

الصور واضحة وهي التي تتكلم

وفي حال اي استفسار ارجو الكتابة

20_02_06_03_09_47_1140433787sql_jobs1.jpg

20_02_06_03_10_09_1140433809sql_jobs_.jpg

20_02_06_03_10_28_1140433828sql_jobs3.jpg

20_02_06_03_11_16_1140433876sql_jobs4.jpg

post-43707-1114008786_thumb.jpg

post-43707-1114008856_thumb.jpg

post-43707-1114009003_thumb.jpg

post-43707-1114009039_thumb.jpg

تم تعديل بواسطه walcom
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

وهنا انتهى job وبأمكاننا رؤية خصائصه او نشغله او نرى تاريخ عمله

20_02_06_03_12_31_1140433951sql_jobs5.jpg

post-43707-1114009202_thumb.jpg

تم تعديل بواسطه walcom
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكر جزيل للأخ mark222 على الشرح :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .