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

سؤال مهم حول الإجراءات المخزنة

بدأه ABC123 في 13 فبراير 2012 · 5 رد · 447 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

إخواني وأخواتي إعضاء هذا المنتدي الغالي علينا جميعا

أرجو مساعدتي في حل هذة المشكلة التي واجهتها ولكم جزيل الشكر والأمتنان


Create PROCEDURE SEARCH @TEXT1 VARCHAR(50) , @FLD1 VARCHAR(10), @FLD2 VARCHAR(10) with Encryption
AS
SELECT @FLD1 , @FLD2 FROM TABLE1 WHERE @FLD1 LIKE @TEXT1 + '%' ORDER BY @FLD1

المشكلة عند تنفيذ الأجراء السابق فأن المتغيرات @FLD1 و @FLD2 لا تشير الى الحقول في الجدول وأنما تعامل على انها قيم ثابتة

كيف أجعل المتغيرات في إجراء مخزن تشير إلى حقول في جدول ؟!!!!!!

جزى الله كل خير كل من ساهم في مساعدتي

تم تعديل هذه المشاركة بواسطة ABC123 في 13 فبراير 2012 في 05:47

#2

السلام عليكم.

استخدم الاستعلام الديناميكي:

Create PROCEDURE SEARCH @TEXT1 VARCHAR(50) , @FLD1 VARCHAR(10), @FLD2 VARCHAR(10) with Encryption
AS
EXEC('SELECT' + @FLD1 + ',' + @FLD2 +' FROM TABLE1 WHERE ' + @FLD1 + ' LIKE ' + @TEXT1 + ' + ''%'' ORDER BY ' + @FLD1)
#3
Adel Khayata كتب:

السلام عليكم.

استخدم الاستعلام الديناميكي:

Create PROCEDURE SEARCH @TEXT1 VARCHAR(50) , @FLD1 VARCHAR(10), @FLD2 VARCHAR(10) with Encryption
AS
EXEC('SELECT' + @FLD1 + ',' + @FLD2 +' FROM TABLE1 WHERE ' + @FLD1 + ' LIKE ' + @TEXT1 + ' + ''%'' ORDER BY ' + @FLD1)

لك جزيل الشكر والأمتنان على سرعة الرد

الحقيقة أن الأستعلام الديناميكي قد مر علي سابقا في مشكلة أخرى وقد استخدمتة ولكن الذي دفعني إلى وضع هذا السؤال سببان

السبب الأول : إني ظننت أن هناك تعريف آخر لنوع البيانات غير VARCHAR يجعلة يشير إلى الحقول مثلما نعرف متغير في الفيجوال على أنة OBJECT

السبب الثاني : أنه قد مرت على معلومة أن الأستعلامات الديناميكية إبطأ في التنفيذ من الأستعلامات المباشرة . والحقيقة إني لا أدري مدى صحة هذة المعلومة من عدمها

أخيرا أشكرك جزيل الشكر على أهتمامك وأدعو المولى عزوجل أن يغفر لك ولوالديك ولجميع المسملمين أنه ولي ذلك والقادر علية

#4

هذة الطريقة مش هتفرق كثيرا في الوقت لانها جملة بسيطة لا تاخذ وقت كتير في الفحص قل التنفيذ

#5

اشكرك أخي KARIMSOFT على الرد والأهتمام

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

#6
اقتباس
السبب الثاني : أنه قد مرت على معلومة أن الأستعلامات الديناميكية إبطأ في التنفيذ من الأستعلامات المباشرة . والحقيقة إني لا أدري مدى صحة هذة المعلومة من عدمها

الكلام صحيح 100% لكن الفرق لن تستطيع قياسه لكن قد يظهر فرق بسيط في الاستعلامات الكبيرة والمعقدة .

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…