如何使用SQL Server中的存储过程更新表

use*_*627 3 sql sql-server stored-procedures

我在SQL Server中创建了一个名为"Employee"的表,现在我想使用存储过程更新表.

该表有emp_name,emp_codestatus列.假设该表有三个记录:最初,在存储过程中我想使用select语句获取最后两个记录,并且我必须将获取的记录' status变为'Y'.

我编写了一个存储过程,但它不会影响原始表.请建议查询存储过程.

这是我所做的查询:

create  procedure updtdemployee As
  select e.Emp_name ,e.Circle 
  from employee e 
  where e.Emp_Code ='2501' or e.Emp_Code='2502'

  begin
    update employee set status='Y' where Emp_name = employee.Emp_name
  end
Run Code Online (Sandbox Code Playgroud)

Mar*_*shi 8

您不需要选择部分,只需进行更新.

CREATE PROCEDURE updtdemployee
       @employeeID INT
  AS
    BEGIN
     UPDATE employee 
     SET status='Y' 
     WHERE Emp_Code = @employeeID
    END
Run Code Online (Sandbox Code Playgroud)

如果你想做静态,你可以使用它

CREATE PROCEDURE updtdemployee     
      AS
        BEGIN
         UPDATE employee 
         SET status='Y' 
         WHERE Emp_Code = 2501 or Emp_Code = 2502
        END
Run Code Online (Sandbox Code Playgroud)