wikibot
Table | HumanResources.Employee |
Description | Employee information such as salary, department, and title. |
Columns ¶
Column | Data Type | Nullable | Default | Description |
EmployeeID | int | not null | | Primary key for Employee records. |
NationalIDNumber | nvarchar(15) | not null | | Unique national identification number such as a social security number. |
ContactID | int | not null | | Identifies the employee in the Contact table. Foreign key to Contact.ContactID. |
LoginID | nvarchar(256) | not null | | Network login. |
ManagerID | int | null | | Manager to whom the employee is assigned. Foreign Key to Employee.M |
Title | nvarchar(50) | not null | | Work title such as Buyer or Sales Representative. |
BirthDate | datetime | not null | | Date of birth. |
MaritalStatus | nchar(1) | not null | | M = Married, S = Single |
Gender | nchar(1) | not null | | M = Male, F = Female |
HireDate | datetime | not null | | Employee hired on this date. |
SalariedFlag | dbo.Flag | not null | ((1)) | Job classification. 0 = Hourly, not exempt from collective bargaining. 1 = Salaried, exempt from collective bargaining. |
VacationHours | smallint | not null | ((0)) | Number of available vacation hours. |
SickLeaveHours | smallint | not null | ((0)) | Number of available sick leave hours. |
CurrentFlag | dbo.Flag | not null | ((1)) | 0 = Inactive, 1 = Active |
rowguid | uniqueidentifier | not null | (newid()) | ROWGUIDCOL number uniquely identifying the record. Used to support a merge replication sample. |
ModifiedDate | datetime | not null | (getdate()) | Date and time the record was last updated. |
Primary Key
Primary Key | Columns |
PK_Employee_EmployeeID | EmployeeID |
Indexes
Index | Type | Columns |
AK_Employee_LoginID | Unique | LoginID |
AK_Employee_NationalIDNumber | Unique | NationalIDNumber |
AK_Employee_rowguid | Unique | rowguid |
IX_Employee_ManagerID | | ManagerID |
Check Constraints
Foreign Keys
Detail Tables
Triggers
Trigger | Type |
dEmployee | INSTEAD OF DELETE |
Trigger dEmployee
CREATE TRIGGER [HumanResources].[dEmployee] ON [HumanResources].[Employee]
INSTEAD OF DELETE NOT FOR REPLICATION AS
BEGIN
DECLARE @Count int;
SET @Count = @@ROWCOUNT;
IF @Count = 0
RETURN;
SET NOCOUNT ON;
BEGIN
RAISERROR
(N'Employees cannot be deleted. They can only be marked as not current.', -- Message
10, -- Severity.
1); -- State.
-- Rollback any active or uncommittable transactions
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END
END;
END;
References
Dependencies