عرض مشاركة واحدة
  #1 (permalink)  
قديم 2008-11-13, 10:55 PM
IM.com IM.com غير متواجد حالياً
:: إدارة تقنية المعلومات ::
 
تاريخ التسجيل: 01-11-2008
المشاركات: 147
افتراضي أفضل التطبقات في كتابة Stored Procedures

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

كثير من الأحيان نستخدم الـ Stored Procedures لقراءة البيانات من قواعد البيانات لدينا ... و طبعاً أفضل تطبيق ان تقرئها عن طريق Stored Procedures و ليس عن طريق جملة SELECT من داخل البرنامج ... و ذلك لعدة اعتبارات من أهمها أمن المعلومات ...

عموماً ليس هذا موضوعنا...

كما قلت سوف نستخدم Stored Procedures في قراءة البيانات من قبل البرنامج، و لنفرض انه يوجد لدينا Stored Procedures التالية و التي تعطينا جميع بيانات المستخدين في جدول Users ...

كود PHP:
CREATE PROCEDURE GetUserData 
AS
BEGIN
   SELECT 
[ID], [Name], [Phone], [Email]
   
FROM [Users]
END
GO 
عندما ننفذ هذه Stored Procedures عن طريق الأمر:

كود PHP:
EXEC GetUserData 
سوف يخرج لنا في كل مرة الرسالة مثلاً (طبعاً الرقم سوف يتغير على حسب البيانات الموجودة):

كود PHP:
(11 row(saffected
في كل تنفيذ لهذه Stored Procedures سوف تخرج لنا رسائل شبيهة لهذه الرسالة أعلاه ... و كأفضل تطبيق هو ان نستخدم الجملة:

كود PHP:
SET NOCOUNT ON
Go 
هذه الجملة لن تظهر لنا الرسالة التي تخبرنا بعدد الاسطر المسترجعة ... و هذا من شأنه ان يقوم بتحسين الآداء و تقليص كمية البيانات التي ترسل عبر الشبكة ...

و سيكون شكل الـ Stored Procedures بعد التعديل كالتالي:

كود PHP:
CREATE PROCEDURE GetUserData 
AS
BEGIN 

 SET NOCOUNT ON
;
 
 
SELECT [ID], [Name], [Phone], [Email]
 
FROM [Users

END
GO 
رد مع اقتباس