Microsoft SQL - 转移员工的存储过程

Microsoft SQL - Stored Procedure to transfer an employee

我想创建一个将员工从当前团队转移到另一个团队的存储过程。到目前为止,我已经这样做了:

CREATE OR ALTER PROC pr_EmployeeTeam @IDTeam1 int, @IDTeam2 int
AS
BEGIN
    DECLARE @NIC int
    SELECT @IDTeam1 = IDTeam from StuffTeams
    SELECT @IDTeam2 = IDTeam from StuffTeams

    UPDATE StuffTeams SET IDTeam = @IDTeam1 WHERE NIC = @NIC
    UPDATE StuffTeams SET IDTeam = @IDTeam2 WHERE NIC = @NIC 
END

EXEC pr_EmployeeTeam 2,5

还有我的StuffTeamtable:

CREATE TABLE StuffTeams(
    IDStuffTeam nvarchar(30) NOT NULL,
    IDTeam int NOT NULL,
    NIC int NOT NULL,
    DateStart date NOT NULL,
    DateFinish date NOT NULL,
    CONSTRAINT PK_Stuff PRIMARY KEY (IDStuffTeam),
    CONSTRAINT FK_sTeam FOREIGN KEY (IDTeam) REFERENCES Teams (IDTeam),
    CONSTRAINT FK_sNIC FOREIGN KEY (NIC) REFERENCES Employees (NIC),
)

StuffTeams 内部我有 30 个值但是当我执行代码时说

0 rows affacted

非常感谢

更新

CREATE PROC sp_UpdateTeam
    @TeamID int,
    @NIC int
AS
BEGIN
    update StuffTeams SET IDTeam = @TeamID
    WHERE NIC = @NIC
END

EXEC sp_UpdateTeam 5,54321

这解决了我的问题!谢谢

Based upon your requirement, I have updated your proc as shown below:

CREATE OR ALTER PROC pr_EmployeeTeam @IDTeam1 int, @IDTeam2 int  
AS
BEGIN
DECLARE @NIC int
SELECT @NIC = IDTeam from StuffTeams WHERE IDTeam = @IDTeam1    
UPDATE StuffTeams SET IDTeam = @IDTeam2 WHERE NIC = @NIC

END

执行 pr_EmployeeTeam 2,5