PDA

View Full Version : حرفه ای: مشکل در Insert به جدول دیگر



Delphi&Kylix_2939
شنبه 04 مهر 1388, 15:58 عصر
باسلام من یه جدول دارم که برای گزارش گیری یک جدول Temp می سازم و اطلاعات لازم رو با توجه به شروطم داخل جدول موقت Insert می کنه
اطلاعات باید به صورتی باشه که با توجه به sort کردن چندین Field مختلف Insert بشه ولی بعد از Insert داده ها باتوجه به فیلد مرتب شده Insert نمیشه
اسکریپت اون رو در زیر نوشتم درضمن sql server 2000 رو دارم استفاده می کنم
2ر جدول هم Index دارن


Exec('Select Docs_Row,Docs_Date,Docs_Amount_Bed,Docs_Amount_Bes Into '+@TempTable2+' From
(Select Accs,Docs_Row,Docs_Date,Docs_Amount_Bed,Docs_Amoun t_Bes From ArchDoc
Union
Select Accs,Docs_Row,Docs_Date,Docs_Amount_Bed,Docs_Amoun t_Bes From CurDoc ) T1
Where (T1.Accs =23) And (T1.Docs_Date Between '+@FrDate+' And '+@ToDate+')
Order By T1.Docs_Date,T1.Docs_Row')

YASHIL9
شنبه 04 مهر 1388, 18:38 عصر
باسلام
براي گرفتن جواب بهتر است دستور Insert را در يك SP و دستور Select را در SP جداگانه اي نوشته و سپس آنها را اجرا نماييد.
موفق باشيد

Delphi&Kylix_2939
یک شنبه 05 مهر 1388, 01:23 صبح
باسلام
براي گرفتن جواب بهتر است دستور Insert را در يك SP و دستور Select را در SP جداگانه اي نوشته و سپس آنها را اجرا نماييد.
موفق باشيد
میشه مثال بزنید؟

Delphi&Kylix_2939
دوشنبه 06 مهر 1388, 00:04 صبح
میشه مثال بزنید؟

محمد سلیم آبادی
دوشنبه 06 مهر 1388, 00:19 صبح
سلام،
منظورتان این است که سطرهای مورد نظر با آن ترتیبی که مشخص کردین در جدول جدید درج نمی شوند؟ اگر اینگونه باشد به احتمال زیاد دلیلش این باشد که ابتدا سطرها بدون ترتیب در جدول جدید درج می شوند و در نهایت برای نمایش مرتب می شوند.

به هر حال من یک جدول مشتق شده ی دیگر به query شما اضافه کردم، شاید مشکل بر طرف شود.



Exec('Select Docs_Row,Docs_Date,Docs_Amount_Bed,Docs_Amount_Bes Into '+@TempTable2+
' FROM
(
SELECT * From
(
Select Accs,Docs_Row,Docs_Date,Docs_Amount_Bed,Docs_Amoun t_Bes From ArchDoc
Union
Select Accs,Docs_Row,Docs_Date,Docs_Amount_Bed,Docs_Amoun t_Bes From CurDoc
) T1
Where (T1.Accs =23) And (T1.Docs_Date Between '+@FrDate+' And '+@ToDate+')
Order By T1.Docs_Date,T1.Docs_Row
) T2')





البته شما دستور INSERT INTO SELECT هم امتحان کنید.