sql >> Databáze >  >> RDS >> Sqlserver

Existuje způsob, jak SELECT a UPDATE řádky současně?

Zvažte prostudování klauzule OUTPUT :

USE AdventureWorks2012;  
GO  

DECLARE @MyTableVar table(  
    EmpID int NOT NULL,  
    OldVacationHours int,  
    NewVacationHours int,  
    ModifiedDate datetime);  

UPDATE TOP (10) HumanResources.Employee  
SET VacationHours = VacationHours * 1.25,  
    ModifiedDate = GETDATE()   
OUTPUT inserted.BusinessEntityID,  
       deleted.VacationHours,  
       inserted.VacationHours,  
       inserted.ModifiedDate  
INTO @MyTableVar;  

--Display the result set of the table variable.  
SELECT EmpID, OldVacationHours, NewVacationHours, ModifiedDate  
FROM @MyTableVar;  
GO  
--Display the result set of the table.  
SELECT TOP (10) BusinessEntityID, VacationHours, ModifiedDate  
FROM HumanResources.Employee;  
GO 


  1. Implementace funkce Listagg Overflow (Oracle SQL)

  2. Jak funguje funkce LOWER() v MySQL

  3. Schéma SQL serveru a výchozí schéma

  4. ORA-12728:neplatný rozsah v regulárním výrazu