PDA

View Full Version : مرتب وارد شدن اطلاعات



majidsoft
پنج شنبه 20 اسفند 1388, 01:08 صبح
با سلام خدمت دوستان عزیز
من در یک table از دیتابیسم یک فیلد درست کردم که بطور خودکار با اضافه شدن رکورد یک عدد به آن اضفه می شود ولی وقتی sql را باز می کنم و وارد آن table می شوم اطلاعات بر اساس آن فیلد بصورت مرتب نمایش داده نمی شود برای اینکه همیشه با باز کردن این table داده ها بصورت مرتب نمایش داده شوند چکار باید کرد
با تشکر

Jozef
پنج شنبه 20 اسفند 1388, 08:34 صبح
نوع فیلدتون چیه؟ کلید اصلی این جدولتون چیه؟

بطور خودکار با اضافه شدن رکورد یک عدد به آن اضفه می شود
منظوزتون اینه که فیلد idدارین؟ (identity(

supporter
پنج شنبه 20 اسفند 1388, 11:16 صبح
ترتيب نمايش اطلاعات در اين حالت بر اساس Clustered Index است.
بايد فيلد مورد نظرتون اولين فيلد از Clustered Index باشه.

majidsoft
پنج شنبه 20 اسفند 1388, 17:09 عصر
نوع فیلدم BIGINT است و IDENTITY هم دارد اولین فیلد جدول نیز هست

محمد سلیم آبادی
پنج شنبه 20 اسفند 1388, 17:28 عصر
نوع فیلدم BIGINT است و IDENTITY هم دارد اولین فیلد جدول نیز هست

اگر برای جدولت کلید اولیه تعریف نکردین این کد رو اجرا کنید سپس هنگامی که دستور SELECT * FROM table_name اجرا میشه بصورت پیش فرض بر اساس ستون مورد نظر sort صورت می گیره:


ALTER TABLE table_name
ADD CONSTRAINT PK_1
PRIMARY KEY(column_name) --d


توجه داشته باش که ستون بایستی Nullable نباشه تا بتونی کلید اولیه روش تعریف کنین.

pezhvakco
پنج شنبه 20 اسفند 1388, 19:18 عصر
درود :
این که یه فیلد اول باشه یا آخر در ورود و خروج، مرتب سازی اطلاعات تاثیری نداره .
برای مرتب سازی خاص باید با Index و Key ها کار کنی.
در ضمن مقدار فیلد این فیلد ها نباید Null باشد .

Jozef
پنج شنبه 20 اسفند 1388, 20:58 عصر
راحتتر اینه که همون فیلد رو کلید اصلی کنین که فکر کنم به همین منظور ایجادش کردین.

supporter
پنج شنبه 20 اسفند 1388, 22:23 عصر
اگر برای جدولت کلید اولیه تعریف نکردین این کد رو اجرا کنید سپس هنگامی که دستور SELECT * FROM table_name اجرا میشه بصورت پیش فرض بر اساس ستون مورد نظر sort صورت می گیره:


ALTER TABLE table_name
ADD CONSTRAINT PK_1
PRIMARY KEY(column_name) --d



توجه داشته باش که ستون بایستی Nullable نباشه تا بتونی کلید اولیه روش تعریف کنین.

ترتيب نمايش ركوردها در اين حالت براساس Clustered Index است و نه PK جدول. هر چند به طورپيش فرض PK از نوع Clustered Index است ولي همون طور كه مي‌دونيم الزامي براي Clustered بودن PK وجود نداره.


درود :
در ضمن مقدار فیلد این فیلد ها نباید Null باشد .
در صورتي كه فيلد جزو PKجدول نباشه براي nullable بودن مانعي وجود نداره.

majidsoft
جمعه 21 اسفند 1388, 01:31 صبح
با تشکر از دوستان همون فیلد را به کلید اصلی تبدیل کردم درست شد
یا حق

supporter
جمعه 21 اسفند 1388, 08:54 صبح
با تشکر از دوستان همون فیلد را به کلید اصلی تبدیل کردم درست شد
یا حق
دوست عزيز همون طور كه قبلاً هم اشاره كردم ترتيب نمايش در اين حالت ارتباطي با اين كه فيلدتون كليد اصلي جدولتون باشه نداره ولي احتمالا از اون جايي كه PK جدولتون (فيلد مورد نظر شما) ‍Clustered هم هست (پيش فرض اين طوريه) ترتيب نمايش ركورها بر اساس اين فيلد شده.
اگه فيلد مورد نظرتون كليد اصلي جدولتون باشه ولي جدولتون روي يه فيلد ديگه Clustered Index داشته باشه ترتيب نمايش ركورها بر اساس فيلد دوم (‍Clustered Index) خواهد بود و نه كليد اصلي.
موفق باشيد.