Comment mettre à jour une table en utilisant des procédures stockées dans SQL Server

J'ai créé une table dans SQL Server appelée "Employee", et maintenant je veux mettre à jour la table en utilisant une procédure stockée.

La table contient des colonnes emp_name , emp_code et status . Supposons que la table a trois loggings: initialement, dans la procédure stockée, je veux extraire les deux derniers loggings en utilisant une instruction select et j'ai le status des loggings récupérés à 'Y'.

J'ai écrit une procédure stockée, mais cela n'affecte pas la table d'origine. Veuillez suggérer la requête pour la procédure stockée.

Voici la requête que j'ai faite:

 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 

Vous n'avez pas besoin de la partie Sélectionner, faites simplement la mise à jour.

 CREATE PROCEDURE updtdemployee @employeeID INT AS BEGIN UPDATE employee SET status='Y' WHERE Emp_Code = @employeeID END 

Si vous voulez le faire statique, vous pouvez l'utiliser

 CREATE PROCEDURE updtdemployee AS BEGIN UPDATE employee SET status='Y' WHERE Emp_Code = 2501 or Emp_Code = 2502 END 

en fonction de votre question "Je veux aller chercher les deux derniers disques" si cela est supposé affecter les deux derniers disques,

 CREATE PROCEDURE updtdemployee AS BEGIN UPDATE employee SET status='Y' WHERE Emp_Code in (select top 2 Emp_Code from employee order by Emp_Code desc) END 

Je devine simplement sur la façon dont vous voulez order ceci mais est ce que vous cherchiez?

* Essayez le code ci-dessous

 Create Procedure UpdateRecord (@emp_code int) as begin update employee set status= 'Y' where emp_code=@emp_code end 

* exécuter comme ci-dessous

 exec UpdateRecode 3 

3 est votre emp_code. s'il vous plaît changer en tant que votre condition.