AdventureWorks
HumanResources.uspUpdateEmployeeHireInfo Stored Procedure
Description
Updates the Employee table and inserts a new row in the EmployeePayHistory table with the values specified in the input parameters.
Properties
Creation Date08/01/2010 08:41
Encrypted
Ansi Nulls
Parameters
ParameterDirectionDescriptionData TypeSize
@EmployeeIDInInput parameter for the stored procedure uspUpdateEmployeeHireInfo. Enter a valid EmployeeID from the Employee table.int4
@TitleInInput parameter for the stored procedure uspUpdateEmployeeHireInfo. Enter a title for the employee.nvarchar50
@HireDateInInput parameter for the stored procedure uspUpdateEmployeeHireInfo. Enter a hire date for the employee.datetime4
@RateChangeDateInInput parameter for the stored procedure uspUpdateEmployeeHireInfo. Enter the date the rate changed for the employee.datetime4
@RateInInput parameter for the stored procedure uspUpdateEmployeeHireInfo. Enter the new rate for the employee.money8
@PayFrequencyInInput parameter for the stored procedure uspUpdateEmployeeHireInfo. Enter the pay frequency for the employee.tinyint1
@CurrentFlagInInput parameter for the stored procedure uspUpdateEmployeeHireInfo. Enter the current flag for the employee.dbo.Flag1
@RETURN_VALUEReturn Value int4
Objects that HumanResources.uspUpdateEmployeeHireInfo depends on
 Database ObjectObject TypeDescriptionDep Level
Person.Contact tablePerson.ContactTableNames of each employee, customer contact, and vendor contact.2
HumanResources.Employee tableHumanResources.EmployeeTableEmployee information such as salary, department, and title.1
HumanResources.EmployeePayHistory tableHumanResources.EmployeePayHistoryTableEmployee pay history.1
dbo.ErrorLog tabledbo.ErrorLogTableAudit table tracking errors in the the AdventureWorks database that are caught by the CATCH block of a TRY...CATCH construct. Data is inserted by stored procedure dbo.uspLogError when it is executed from inside the CATCH block of a TRY...CATCH construct.2
dbo.Flag datatypedbo.FlagUser Defined Data Type 1
dbo.Name datatypedbo.NameUser Defined Data Type 3
dbo.NameStyle datatypedbo.NameStyleUser Defined Data Type 3
dbo.Phone datatypedbo.PhoneUser Defined Data Type 3
dbo.uspLogError proceduredbo.uspLogErrorStored ProcedureLogs error information in the ErrorLog table about the error that caused execution to jump to the CATCH block of a TRY...CATCH construct. Should be executed from within the scope of a CATCH block otherwise it will return without inserting error information.1
dbo.uspPrintError proceduredbo.uspPrintErrorStored ProcedurePrints error information about the error that caused execution to jump to the CATCH block of a TRY...CATCH construct. Should be executed from within the scope of a CATCH block otherwise it will return without printing any error information.2
Procedure Source Code
CREATE PROCEDURE [HumanResources].[uspUpdateEmployeeHireInfo]
@EmployeeID [int], 
@Title [nvarchar](50), 
@HireDate [datetime], 
@RateChangeDate [datetime], 
@Rate [money], 
@PayFrequency [tinyint], 
@CurrentFlag [dbo].[Flag] 
WITH EXECUTE AS CALLER
AS

BEGIN
SET NOCOUNT ON;
BEGIN TRY
BEGIN TRANSACTION;
UPDATE [HumanResources].[Employee] 
SET [Title] = @Title 
,[HireDate] = @HireDate 
,[CurrentFlag] = @CurrentFlag 
WHERE [EmployeeID] = @EmployeeID;
INSERT INTO [HumanResources].[EmployeePayHistory] 
([EmployeeID]
,[RateChangeDate]
,[Rate]
,[PayFrequency]) 
VALUES (@EmployeeID, @RateChangeDate, @Rate, @PayFrequency);
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END
EXECUTE [dbo].[uspLogError];
END CATCH;
END;
See Also

Related Objects

HumanResources Schema
AdventureWorks Database

 

 


© 2012 All Rights Reserved.

Send comments on this topic.