Я хочу написать триггер в SQL Server 2005, в котором внутри цикла я хочу обновить каждую строку конкретной таблицы на основе ее первичного ключа.Проблема в том, как мне получить первичный ключ каждой строки внутри цикла?
Пожалуйста, помогите
Извините, что не упомянул выше детали
Table UserPersonalInfo
UserId varchar(50) Primary Key
FirstName varchar(50)
MiddleName varchar(50)
LastName varchar(50)
UserName varchar(50)
Password varchar(50)
ContactNo bigint
Verified bit
Address varchar(100)
EmailId varchar(100)
RoleId int
CurrentFine money
Photo image
Table CurrentlyIssuedBook
Userid varchar(50) Primary Key
BookId varchar(50)
IssuedDate datetime
ExpectedReturnDate datetime
ISBN varchar(50)
Table CurrentDate
date datetime
Выше две таблицы
Теперь то, что я пытаюсь сделать, это ...
Каждый раз, когда я запускаю свое приложение C #, я буду пытаться обновить дату в таблице CurrentDate с фактической текущей датой.Если обновление выполнено успешно, триггер запустится.
Внутри триггера я хочу обновить штраф для каждого пользователя в таблице UserPersonalInfo.Для этого я подумал об использовании цикла, но как получить значение первичного ключа каждой строки из таблицы UserInfo?
Моя логика точного расчета выглядит следующим образом
totalfine = 0
x = currentdate - ExpectedReturnDate
y = x/30
z = x%30
for(int i=0; i <y; i++)
{
totalfine = totalfine + (2^i * 4 * 30);
}
totalfine = totalfine + (2^i * 4 * z);
Теперь, пожалуйста, предложите мне, что мне делать?