سورت کردن رکوردها در هنگام ورود داده
من جدول دارم با یک فیلد اتونامبر که pkاست با اینکه این فیلد pk است و اطلاعات ان خود بخود زیاد می شود اما وقتی اطلاعات جدیدی به جدول اضافه می شود به ته جدول اضافه نمی شود وبعبارتی سورت نیست .باید چکار کنم که خود به خود سورت شود. راستی این فیلد چون pk است ایندکس هم نمی توان تعریف کرد. لطفا" راهنمایی کنید با تشکر
نقل قول: سورت کردن رکوردها در هنگام ورود داده
دوستان این کار برام حیاتی است اگه کسی می تونه لطفا" کمک کنه
من اینکار را برای صفحه بندی می خواهم اطلاعات جدول زیاد است و باید حتما صفحه بندی بشه و این کار را با order byانجام می دهم که سرعت را خیلی پایین می اورد نمی دونم چکار کنم
نقل قول: سورت کردن رکوردها در هنگام ورود داده
شما اطلاعات وارد شده را در جدول بصورت نتیجه queryدر محیطی مانند TOAD یا هر محیط SQL Manager دیگری میبینید. درواقع چیزی که شما میبینید نتیجه یک query است نه اطلاعات منطقی مورد نیاز شما از جدول. PK بودن یک فیلد تضمین میکند که روی آن ایندکس باینری تعریف میشود اما این ربطی به خروجی نداردٰ بیاد داشته باشید که هر جا چه در گزارشات مانند Report Builder و یا Discoverer و یا در فرمهای خود در محیط ویندوز یا فرمهای اوراکل یا محیط وب با تولزی مانند Jdeveloper حتماً باید اطلاعات خروجی دیتی بلاک یا دیتا مدل خود را از طریق کد اسکریپت آن و یا Propertyهای آن بصورت Order by استخراج کنید .
اگر اطلاعات کافی نیست یا نیاز به راهنمائی بیشتر دارید اطلاع دهید
نقل قول: سورت کردن رکوردها در هنگام ورود داده
نقل قول:
نوشته شده توسط
amir1982
شما اطلاعات وارد شده را در جدول بصورت نتیجه queryدر محیطی مانند TOAD یا هر محیط SQL Manager دیگری میبینید. درواقع چیزی که شما میبینید نتیجه یک query است نه اطلاعات منطقی مورد نیاز شما از جدول. PK بودن یک فیلد تضمین میکند که روی آن ایندکس باینری تعریف میشود اما این ربطی به خروجی نداردٰ بیاد داشته باشید که هر جا چه در گزارشات مانند Report Builder و یا Discoverer و یا در فرمهای خود در محیط ویندوز یا فرمهای اوراکل یا محیط وب با تولزی مانند Jdeveloper حتماً باید اطلاعات خروجی دیتی بلاک یا دیتا مدل خود را از طریق کد اسکریپت آن و یا Propertyهای آن بصورت Order by استخراج کنید .
اگر اطلاعات کافی نیست یا نیاز به راهنمائی بیشتر دارید اطلاع دهید
با تشکر از اینکه به سوالم پاسخ دادید
اما مگر در حالت عادی و بدون هیچ دستور order by نباید نتیجه query به همان صورتی که فیزکی ذخیره شده اند نمایش پیدا کند . پس چرا این اتفاق نمی افتد
نقل قول: سورت کردن رکوردها در هنگام ورود داده
میتونی یه فیلد بسازی با یه تریگر که مثل همون 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.date_recive);
البته این همه کد نیست ولی فکر کنم باقیشو بتونی خودت حدس بزنی.
نقل قول: سورت کردن رکوردها در هنگام ورود داده
میتونی یه فیلد بسازی با یه تریگر که مثل همون 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.date_recive);
البته این همه کد نیست ولی فکر کنم باقیشو بتونی خودت حدس بزنی.