Abhishek Burrnwal Ответов: 2

Как обновить последний столбец кодсотрудника имя с помощью хранимой процедуры?


Employee-ID, Name, ManagerID, ManagerName

ID     Name    ManagerID     ManagerName
1      Abhi       1        
2      Ram        1                      
3      Sonu       2                  
4      Monu       3                      
5      Shyam      2                    
6      Keshri     4                    
7      Partha     5                               
8      Ramesh     3                           
9      Rajib      7



Как обновить последний столбец ManagerName по имени ID с помощью процедуры store?

[edit]добавлен блок кода-OriginalGriff [/edit]

Что я уже пробовал:

How to update last column by EmployeeID Name using store procedure

2 Ответов

Рейтинг:
2

OriginalGriff

Вам это не нужно или не нужно - вы будете дублировать информацию, и она будет подвержена ошибке, если менеджер уйдет и будет заменен, например.
Вместо этого используйте соединение при выборе строк:

SELECT a.ID, a.Name, a.ManagerID, b.Name AS ManagerName FROM Managers a
JOIN Managers b ON a.ManagerID = b.ID


Abhishek Burrnwal

Мой вопрос заключается в том, как обновить столбец ManagerName, а не запрос select?

OriginalGriff

И я говорю вам, что это неправильно: он тратит впустую пространство и склонен к неточностям. Хранение данных в нескольких местах является ошибкой.

Использование select-гораздо лучшее решение, так как результат всегда правильный.

Рейтинг:
2

Karthik_Mahalingam

CREATE PROCEDURE dbo.SpUpdateManager
    @id int = 0,
    @managerName int  
AS
begin
update TableName set ManagerName=@managerName where id  = @id
end