سؤال

لقد أنشأت رؤية بسيطة تتكون من 3 جداول في SQL.

بالنقر بتصميم واختيار التصميم الأيمن ، في جدول مستكشف الكائنات ، قمت بتعديل عرضي المخصص. لقد أضفت للتو Sortby ASC في حقل.

المشكلة هي أن التغييرات لا تنعكس في انتهاء العرض. بعد حفظ العرض ، وتحديد عرض مفتوح ، لا يتم عرض الفرز في الإخراج.

إذا ماذا يجري هنا؟

هل كانت مفيدة؟

المحلول

من الناحية الفنية ، من الممكن خبز الفرز في VIEW لكنه محبط للغاية. بدلاً من ذلك ، يجب عليك تطبيق الفرز أثناء الاختيار من العرض مثل SO:

Select ...
From MyView
Order By SortByCol ASC

إذا كنت ترغب حقًا في معرفة ذلك (ولكن مرة أخرى ، أوصي بشدة ضد هذا) ، فيمكنك استخدام الأمر العلوي للالتفاف على قيود الفرز في العرض:

Select TOP 100 PERCENT * Col1, Col2....
From Table1
Order By SortByCol ASC

نصائح أخرى

يبدو :

هناك قيود على الجمل المحددة في تعريف العرض في SQL Server 2000 و SQL 2005 و SQL 2008. لا يمكن تضمين عبارة CREATE VIEW ORDER ، ما لم يكن هناك أيضًا جملة أعلى في قائمة SELECT الخاصة ببيان SELECT. يتم استخدام الترتيب عن طريق البند فقط لتحديد الصفوف التي يتم إرجاعها بواسطة البند العلوي في تعريف العرض. لا يضمن الترتيب بالفقرة النتائج المرتبة عند الاستعلام عن العرض ، ما لم يتم تحديد الطلب أيضًا في الاستعلام نفسه.

هناك أيضًا إصلاح ساخن يجب تطبيقه. بعد ذلك يجب أن تستخدم أعلى 100 ٪ للتأكد من أن الطلب حسب الأعمال.

HTH

عمومًا, ، لا يمكن فرز وجهات النظر.

(كما ذكر آخرون ، هناك اختراق للقيام بذلك ، ولكن نظرًا لأنك تستخدم مصمم استعلام مرئي بدلاً من كتابة تعريف العرض الخاص بك في SQL ، فمن الصعب تنفيذ هذا الاختراق.)

لم "تعديل" عرضك بالفعل ، لقد قمت فقط بتغيير عبارة SELECT التي استخدمتها EM للاختيار من عند وجهة نظركم. لا يتم الاحتفاظ بإعدادات الفرز في تعريف العرض.

عند إغلاق علامة التبويب ، لا تتذكر EM تفضيلات الفرز الخاصة بك لهذا العرض ، لذلك عندما تفتح العرض مرة أخرى ، فإنه يخرج بأي أمر يقرره SQL Server.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top