PDA

View Full Version : حرفه ای: نظر سنجی درمورد روشهای درج بین اسناد



حمیدرضاصادقیان
چهارشنبه 21 بهمن 1388, 09:57 صبح
سلام دوستان. من یک راه به ذهنم رسیده برای درج بین اسناد.
ما برای سند دو جدول داریم یکی هدر سند یکی detail سند. و چکها و فاکتورها و سندهای نقدی همه شماره سندهاشون به شماره سند جدول هدر ارتباط داره.
یک راهی که برای درج به ذهن خودم رسید استفاده از یک تابع معکوس که از آخرین شماره بیاد به قبل تا به شماره من برسه و یک واحد به شماره سندها اضافه کنه. که با استفاده از FK روی جدولهای دیگه و cascade update خود سندهای جداول دیگه بروز میشه.
میخواستم ببینم راه بهتر و بهینه تری هم وجود داره؟

حمیدرضاصادقیان
پنج شنبه 22 بهمن 1388, 11:39 صبح
سلام.من با کد زیر اینکارو کردم.
آیا بهینه تر از اینهم وجود داره؟ یاهمین کد بهینه ای هست؟ در ضمن فیلد سند من pk هست.


update Fs
set Fs.sanad=Fs.sanad+1
from F_sanad Fs
Where Fs.sanad>10


در ضمن به نظر شما بروز کردن فیلدهای دیگر در جداول دیگه به عهده cascade خود sql باشه سریعتر هست یا اینکه تریگر بنویسم؟
البته فکر کنم تریگر سربار زیادی خواهد داشت.
ممنون.

حمیدرضاصادقیان
شنبه 24 بهمن 1388, 23:11 عصر
من این مورد رو در sqlteam مطرح کردم و جوابی که دادن این بود که مثلا بیام وقتی میخوایم یک شماره بین شماره اسناد درج کنیم به صورت اعشاری ذخیره کرده و اگر 1 و2 داریم شماره بین 1و2 رو به صورت 1/2 یا 1(آ) بنویسیم.
منتظر نظر بقیه دوستان هستم
باتشکر.

محمد سلیم آبادی
یک شنبه 25 بهمن 1388, 02:42 صبح
در ضمن به نظر شما بروز کردن فیلدهای دیگر در جداول دیگه به عهده cascade خود sql باشه سریعتر هست یا اینکه تریگر بنویسم؟

هیچ وقت سعی نکنید ابزارها و امکانات اولیه SQL Server را خودتان پیاده سازی کنید. مثلا کلید خارجی مطمئنا بسیار بهینه تر طراحی شده تا trigger ای که می خواهین بسازین.

محمد سلیم آبادی
یک شنبه 25 بهمن 1388, 03:05 صبح
--> درج بین اسناد <--
نظر من:
بسته به شدت درج بین اسناد بیایین یک فضایی بین شماره ی اسناد قرار بدین که بعدا بتوانید تعدادی شماره درج کنید.

بطور مثال پنجتا پنجتا شماره ها را درج کنید
0
5
15
10
15
20

همین طوری که می بینید بعدا بسادگی می توانیم Gap ها را محاسبه کنیم و در آنها درج کنیم.

حمیدرضاصادقیان
یک شنبه 25 بهمن 1388, 07:46 صبح
ممنون. ولی این راهی که پیشنهاد دادین ایراد اساسیش اینه که ممکنه اصلا کسی نخواد درج بین سندها رو انجام بده. وسندهاش پشت هم هست. اینجوری بین شماره سندهاش فضای خالی وجود داره که دوباره بعد باید بیاد یک مرتب سازی انجام بده و سندهاش مرتب بشن تا بتونه دفتر نویسی کنه.
ممنون