У меня есть SQL ниже и хочу обновить managerNTID
с помощью @managerNTID
только в том случае, если запись в базе данных пользователя имеет StopManagerOverride
значение 0, если оно установлено на 1 в записи, тогда я не хочу уточнить это поле:SQL Server 2005 условное обновление поля
UPDATE ee
SET
MangerId = CASE ee.ShopManagerOverride
WHEN 0 THEN @MangerId
ELSE ee.MangerId
END
,ManagerNTID = CASE ee.ShopManagerOverride
WHEN 0 THEN @managerNTID
ELSE ee.ManagerNTID
END
,NTID = @NTID
,FirstName = @FirstName
,LastName = @LastName
,FullName = @FullName
,ReportingGroup = @ReportingGroup
,DistinguishedName = @DistinguishedName
,IsActive = 1
--,StopManagerOverride= 1
,LastUpdate = GETDATE()
,UpdateBy = @UpdateBy
FROM dbo.Employees ee
Inner Join dbo.Employees e ON e.NTID = ee.NTID
WHERE ee.NTID = @NTID
Мысли о том, как сделать это одно поле в обновлении, имеют встроенное условие?
изменить: я почти там, просто нужно решить некоторые неоднозначные столбцы сейчас. мои глаза уже красны от этого.
, что собирается сделать код выглядеть некрасиво и добавить много строк ... и я просил решение в линии ... – kacalapy 2010-12-02 20:21:03
im тестирование с этим сейчас ... a i на правильном пути? – kacalapy 2010-12-02 20:21:27