PDA

View Full Version : ایجاد یک رکورد جدید به ازای هر سطری که آپدیت میشه



hadi-z
شنبه 03 اسفند 1392, 11:19 صبح
با سلام
من یک دستور آپدیت دارم که میخوام در یک شرایطی، یک سری از رکورد هارو آپدیت کنه و همون موقع و بعد از هر سطری که آپدیت میشه یک سطر جدید هم در تیبل من ایجاد بشه.
چطور میتونم این کارو بکنم؟؟
خودم اینو نوشتم ولی فقط به ازای سطر آخرس که آپدیت میکنه یک سطر اضافه میکنه!!!!

Update dbo.DeviceLogs SET EndDate=@ENDDATE, Period=@PERIOD, @STATUS = Status, @DEVICEID = DeviceNames_ID, @AMID = AMs_ID
Where EndDate is Null
INSERT INTO dbo.DeviceLogs ([Status],[BeginDate],[DeviceNames_ID],[AMs_ID])
VALUES (@STATUS, GETDATE(), @DEVICEID, @AMID) ;

hadi-z
شنبه 03 اسفند 1392, 14:51 عصر
یعنی راه حلی وجود نداره؟؟؟؟؟

micro24
شنبه 03 اسفند 1392, 15:04 عصر
با سلام

از تریگر استفاده کنید بعد از Update یک سطر جدید براتون اضافه کند یعنی بعد از Update یک دستور Insert نیاز است.

hadi-z
شنبه 03 اسفند 1392, 15:13 عصر
با سلام

از تریگر استفاده کنید بعد از Update یک سطر جدید براتون اضافه کند یعنی بعد از Update یک دستور Insert نیاز است.

ممنون از پاسختون
میشه بگید چطور باید از تریگر استفاده کنم
من با تریگر تاحالا کار نکردم

micro24
دوشنبه 05 اسفند 1392, 09:07 صبح
با سلام
لینک http://www.codeproject.com/Articles/25600/Triggers-SQL-Server را مطالعه نمائید.

M aJi D
جمعه 09 اسفند 1392, 19:53 عصر
با سلام و احترام
از cursor و while هم میتونید استفاده کنید تریگر دیتابیس را کند میکنه البته چون اسکریپت میزنید و یکبار انجامش میدید خیلی فرقی نمیکنه