PDA

View Full Version : سوال: سورت کردن رکوردها در هنگام ورود داده



s_ahmadneya
سه شنبه 27 اسفند 1387, 08:13 صبح
من جدول دارم با یک فیلد اتونامبر که pkاست با اینکه این فیلد pk است و اطلاعات ان خود بخود زیاد می شود اما وقتی اطلاعات جدیدی به جدول اضافه می شود به ته جدول اضافه نمی شود وبعبارتی سورت نیست .باید چکار کنم که خود به خود سورت شود. راستی این فیلد چون pk است ایندکس هم نمی توان تعریف کرد. لطفا" راهنمایی کنید با تشکر

s_ahmadneya
دوشنبه 17 فروردین 1388, 14:23 عصر
دوستان این کار برام حیاتی است اگه کسی می تونه لطفا" کمک کنه
من اینکار را برای صفحه بندی می خواهم اطلاعات جدول زیاد است و باید حتما صفحه بندی بشه و این کار را با order byانجام می دهم که سرعت را خیلی پایین می اورد نمی دونم چکار کنم

amir1982
جمعه 21 فروردین 1388, 11:10 صبح
شما اطلاعات وارد شده را در جدول بصورت نتیجه query‌در محیطی مانند TOAD یا هر محیط SQL Manager‌ دیگری میبینید. درواقع چیزی که شما میبینید نتیجه یک query است نه اطلاعات منطقی مورد نیاز شما از جدول. PK بودن یک فیلد تضمین میکند که روی آن ایندکس باینری تعریف میشود اما این ربطی به خروجی نداردٰ بیاد داشته باشید که هر جا چه در گزارشات مانند Report Builder و یا Discoverer و یا در فرمهای خود در محیط ویندوز یا فرمهای اوراکل یا محیط وب با تولزی مانند Jdeveloper حتماً باید اطلاعات خروجی دیتی بلاک یا دیتا مدل خود را از طریق کد اسکریپت آن و یا Propertyهای آن بصورت Order by استخراج کنید .
اگر اطلاعات کافی نیست یا نیاز به راهنمائی بیشتر دارید اطلاع دهید

s_ahmadneya
دوشنبه 24 فروردین 1388, 15:05 عصر
شما اطلاعات وارد شده را در جدول بصورت نتیجه query‌در محیطی مانند TOAD یا هر محیط SQL Manager‌ دیگری میبینید. درواقع چیزی که شما میبینید نتیجه یک query است نه اطلاعات منطقی مورد نیاز شما از جدول. PK بودن یک فیلد تضمین میکند که روی آن ایندکس باینری تعریف میشود اما این ربطی به خروجی نداردٰ بیاد داشته باشید که هر جا چه در گزارشات مانند Report Builder و یا Discoverer و یا در فرمهای خود در محیط ویندوز یا فرمهای اوراکل یا محیط وب با تولزی مانند Jdeveloper حتماً باید اطلاعات خروجی دیتی بلاک یا دیتا مدل خود را از طریق کد اسکریپت آن و یا Propertyهای آن بصورت Order by استخراج کنید .
اگر اطلاعات کافی نیست یا نیاز به راهنمائی بیشتر دارید اطلاع دهید
با تشکر از اینکه به سوالم پاسخ دادید
اما مگر در حالت عادی و بدون هیچ دستور order by نباید نتیجه query به همان صورتی که فیزکی ذخیره شده اند نمایش پیدا کند . پس چرا این اتفاق نمی افتد

mexdixabibi
پنج شنبه 03 اردیبهشت 1388, 11:44 صبح
میتونی یه فیلد بسازی با یه تریگر که مثل همون pk اتو نامبر باشه و به اضای هر رکورد جدید یه شماره جدید به جدولت اضافه کنه بعد روش index ببندی.
CURSOR ff IS
SELECTMAX(ID_KEY)FROM ICE_TRANSPORT;
BEGIN
OPEN ff;
FETCH ff INTO V_MAX;
IF V_MAX ISNULL
THEN
V_MAX:= 0;
ELSE
V_MAX := V_MAX;
ENDIF;
close ff;
وبعد اینسرت
insertinto ice_transport
(id_key,id_baggege, weight_baggege,date_transport, date_recive)
values
(V_MAX +1,:NEW.id_baggege,V_weight,:NEW.date_tranc,:NEW.d ate_recive);
البته این همه کد نیست ولی فکر کنم باقیشو بتونی خودت حدس بزنی.

mexdixabibi
پنج شنبه 03 اردیبهشت 1388, 11:50 صبح
میتونی یه فیلد بسازی با یه تریگر که مثل همون pk اتو نامبر باشه و به اضای هر رکورد جدید یه شماره جدید به جدولت اضافه کنه بعد روش index ببندی.
CURSOR ff IS
SELECTMAX(ID_KEY)FROM ICE_TRANSPORT;
BEGIN
OPEN ff;
FETCH ff INTO V_MAX;
IF V_MAX ISNULL
THEN
V_MAX:= 0;
ELSE
V_MAX := V_MAX;
ENDIF;
close ff;
وبعد اینسرت
insertinto ice_transport
(id_key,id_baggege, weight_baggege,date_transport, date_recive)
values
(V_MAX +1,:NEW.id_baggege,V_weight,:NEW.date_tranc,:NEW.d ate_recive);
البته این همه کد نیست ولی فکر کنم باقیشو بتونی خودت حدس بزنی.