PDA

View Full Version : انتخاب سطر های انتخابی با استور پروسجر



azam2005
دوشنبه 14 فروردین 1385, 16:01 عصر
با عرض سلام و تبریک سال نو
آیا میتوان با انتساب یک پارامتر تعداد سطرهایی که میخواهیم محدود کنیم دستور زیر مورد قبول واقع نشد
Select top @max from table1
ایراد میگیرد آیا راهی هست

MMAASS
سه شنبه 15 فروردین 1385, 01:11 صبح
این طوری بنویس :

CREATE PROCEDURE [dbo].[A]
@max int
AS
SET ROWCOUNT @max
Select *
From Table1

azam2005
سه شنبه 15 فروردین 1385, 12:08 عصر
دستتون درد نکنه واقعا ممنون

MMAASS
سه شنبه 15 فروردین 1385, 12:37 عصر
دستتون درد نکنه واقعا ممنون
خواهش می کنم.
موفق باشین. :لبخندساده

azam2005
سه شنبه 15 فروردین 1385, 12:50 عصر
حال میخواهم به تعداد max=100@ سطر انتخواب کنم ولی برای
بار اول از ابتدا تا سطر 100
برای بار بعد از سطر 100 تا200
برای بار بعد از سطر 200 تا300
میخواهم با هر بار صدا زدن استور پروسجر تشخیص دهد کدام محدوده را انتخاب کند آیا راهی هست

MMAASS
سه شنبه 15 فروردین 1385, 13:04 عصر
حال میخواهم به تعداد max=100@ سطر انتخواب کنم ولی برای
بار اول از ابتدا تا سطر 100
برای بار بعد از سطر 100 تا200
برای بار بعد از سطر 200 تا300
میخواهم با هر بار صدا زدن استور پروسجر تشخیص دهد کدام محدوده را انتخاب کند آیا راهی هست
دوست عزیز اگه به معنی کلمه TOP دقت کنین کارش چیزی جز این نمی تونه باشه.یعنی اینکه فقط از ابتدای جدول رکورد انتخاب می کنه.
منظورتون رو از بار اول و بار دوم و بار سوم متوجه نشدم :متفکر: یعنی اینکه هر بار که استورپراسیجر رو اجرا می کنین؟

h_baqery
سه شنبه 15 فروردین 1385, 16:44 عصر
یعنی چی می خواهید تشخیص بدهید کدوم محدوده : منظورتون اینه که هردفعه به max@ چه مقداری پاس می شه.

azam2005
چهارشنبه 16 فروردین 1385, 08:14 صبح
منظورم انتخاب چند سطر به صورت انتخابی است
اما در انتخاب سطرها روشی اعمال شود که اول 100 سطر اول جدول انتخاب گردد بعد 100 سطر بعد الی تا آخر چون فیلد کلید اصلی به ترتیب نمی باشد نمی توان از دستور زیر برای این کار استفاده کرد

Select * from table1
Where id=>@startrow and id<=@endrow

h_baqery
چهارشنبه 16 فروردین 1385, 11:49 صبح
امکانش هست که با دستور order کلید اصلی رو مرتب کنید و بعد از همان روش خودتون استفاده کنید

MMAASS
چهارشنبه 16 فروردین 1385, 13:10 عصر
منظورم انتخاب چند سطر به صورت انتخابی است
یعنی بر اساس یک معیار؟

چون فیلد کلید اصلی به ترتیب نمی باشد

ببینید دوست عزیز خود SQL همیشه جدوال رو بر اساس کلید اصلی مرتب می کند. اگه شما یک بار دیگه به جدولتون نگاه کنید می بینی که جدولتون مرتب شده است.
احتمالا فیلدی رو که می گید کلید اصلی نیست و گرنه مرتب شده بود.

در انتها اگه ممکنه بگین جدولتون چیه؟ فیلداش چیه؟ و می خواهین چه کوئری بگیرین؟ شاید مسئله یه مقداری واضح بشه.

AminSobati
چهارشنبه 16 فروردین 1385, 14:27 عصر
حال میخواهم به تعداد max=100@ سطر انتخواب کنم ولی برای
بار اول از ابتدا تا سطر 100
برای بار بعد از سطر 100 تا200
برای بار بعد از سطر 200 تا300
میخواهم با هر بار صدا زدن استور پروسجر تشخیص دهد کدام محدوده را انتخاب کند آیا راهی هست
چندین روش برای این کار وجود داره:
http://www.aspfaq.com/show.asp?id=2120