PDA

View Full Version : استفاده از order by در view



saeed_23karaj
پنج شنبه 03 اردیبهشت 1394, 16:01 عصر
سلام،چرا order by رو view کار نمیکنه؟چرا وقتی اولش از top استفاده میکنم درست میشه؟

pezhvakco
پنج شنبه 03 اردیبهشت 1394, 19:22 عصر
کار میکنه.
هرجایی دیگه است شما کد نادرست نوشتید.

مهدی نان شکری
جمعه 04 اردیبهشت 1394, 12:07 عصر
با سلام
دوست عزیز حق با شماست View در MS SQL دارای محدودیت هایی می باشد که یکی از این محدودیت ها استفاده از Order By در داخل View می باشد.
به صورت کلی می توان چنین گفت "نیازی به استفاده از Order By در داخل ویو نمی باشد" و برای این که نتیجه بر اساس یک عبارت مرتب شود می توان در دستور Select بیرونی Order by را اعمال کرد.
نکته ای که وجود دارد این است که با استفاده از TOP می توان از Order By استفاده کرد چرا که ماهیت TOP استفاده از Order By را الزامی می کند چون با استفاده از عبارت Top خواهان استخراج قسمتی از Result نهایی می باشیم. توجه نمایید در صورت استفاده از Top 100 percent برای غلبه بر محدودیت موجود در ویو ها ، MS SQL Server از Order by صرف نظر خواهد کرد و Query را اجرا خواهد نمود.
موفق باشید

SabaSabouhi
جمعه 04 اردیبهشت 1394, 12:26 عصر
سلام
من که کلاً علاقه‌ای به استفاده از View ندارم. اما اگه لازم باشه با شرایط خاص جدول خاصی رو داشته باشم ترجیح می‌دم از Function استفاده کنم. درسته که کند‌تر هست
اما یه جاهایی خیلی به درد می‌خوره.

صبا صبوحی

golnaz_a
جمعه 04 اردیبهشت 1394, 13:10 عصر
دوست عزیز در view میشه از order by استفاده کرد شما چه خطایی میگیری که میگید نمیشه استفاده کرد؟!

argess
جمعه 04 اردیبهشت 1394, 17:15 عصر
دوست عزیز شما چه اصراری دارید که بگویید در View می شود از Order by استفاده نمود.

اگر کد زیر را اجرا نمایید متوجه خطا می شوید.

create view testview
as
select * from tblCoding
order by acccode