PDA

View Full Version : ++ کردن خودکار فیلد تو SQL



morika
پنج شنبه 05 بهمن 1391, 11:38 صبح
سلام
خیلی وقتا پیش میاد آدم لازم داره یه فیلد INT رو هی Update کنه و هر دفعه یک واحد به مقدار قبلی اضافه کنه. می خواستم ببینم SQL دستوری داره که این کارو انجام بده و ما مجبود نباشیم هی اون مقدار رو بخونیم و یه واحد بهش اضافه کنیم و دوباه آپدیت کنیم تو بانک. البته منظور من استفاده از Identity نیست. چون اون برای هر رکورد جدید این کارو انجام میده.
ممنون

محمد سلیم آبادی
پنج شنبه 05 بهمن 1391, 15:31 عصر
خیلی وقتا پیش میاد آدم لازم داره یه فیلد INT رو هی Update کنه و هر دفعه یک واحد به مقدار قبلی اضافه کنه.
میتونید یه مثال بزنین؟


می خواستم ببینم SQL دستوری داره که این کارو انجام بده
من دقیق نمیدونم نیاز شما چی هست. ولی اگه خودکار میخواد این عمل انجام بشه مثلا میتونید UPDATE را داخل یک trigger بنویسید که مثلا بعد از اضافه شدن یا ... مقادیر ستون INT هم تغییر کنه.

در مورد sequence (http://www.dotnettips.info/post/1067/%D9%86%D8%AD%D9%88%D9%87-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-sequence-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A2%D9%86-%D8%AF%D8%B1-sql-server-2012)هم مطالعه داشته باشین.

morika
پنج شنبه 05 بهمن 1391, 22:26 عصر
برای مثال فرض کنید سیستم به این شکل هست. هر کاربر یه عدید به عنوان اعتبار داره. مثلا اعتبار یه کاربر 20 هست. حالا می خوایم هروقت کاربر از امکانات سیستم استفاده می کنه یک واحد از اعتبارش کم بشه. حالا هروقت کاربر هر کاری می کنه علاوه بر ثبت اون کار مجبوریم بریم اعتبار رو بخونیم. بعد یک واحد ازش کم کنیم بعد دوباره تو بانک درجش کنیم. اینجوری که من از Sequence متوجه شدم فکر نکنم این کاری که من می خوام انجام بده. می رم دنبال trigger ببینم چیه