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