Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE DATABASE EmploymentManagement
- GO
- USE EmploymentManagement
- GO
- CREATE TABLE Department
- (
- DepartmentID INT PRIMARY KEY NOT NULL IDENTITY,
- Name VARCHAR(50) NOT NULL
- )
- GO
- CREATE TABLE Employee
- (
- EmployeeID INT PRIMARY KEY NOT NULL IDENTITY,
- Name VARCHAR(50) NOT NULL,
- DepartmentFK INT FOREIGN KEY REFERENCES dbo.Department(DepartmentID),
- BirthDay DATETIME DEFAULT('1980-01-10')
- )
- GO
- -- INSERT RECORDS
- INSERT dbo.Department ( Name )
- VALUES ('Name' ),
- ('Humman resource' ),
- ('Research' ),
- ('Business D' )
- GO
- INSERT dbo.Employee(Name ,DepartmentFK ,BirthDay)
- VALUES ( 'Micheal John' , '1' , '1970-04-24' ),
- ( 'Anna Lombard' , '2' , '1972-01-02' ),
- ( 'Peter Dawson' , '2' , '1990-07-12' ),
- ( 'Leonard' , '3' , '1981-05-25' ),
- ( 'Elizabeth' , '3' , '1970-03-14' )
- GO
- /*
- 4) Tạo 1 view có tên ViewEmployees hiển thị thông tin của tất cả nhân viên,
- gồm EmployeeID, Name, BirthDate và DepartmentName (DepartmentName là tên phòng ban mà nhân viên đó làm việc).
- Sau đó, hiển thị dữ liệu của view này với 1 cột DepartmentName được sắp xếp tăng dần.
- */
- CREATE VIEW [ViewEmployees]
- AS SELECT TOP (100) PERCENT E.EmployeeID, E.Name, E.BirthDay, D.Name AS 'DepartmentName' FROM dbo.Employee E, dbo.Department D
- WHERE E.DepartmentFK = D.DepartmentID
- ORDER BY DepartmentName ASC
- GO
- SELECT * FROM [ViewEmployees]
- -- 5) Tạo 1 câu lệnh select để hiển thị EmployeeID, Name và Age của tất cả nhân viên mà sinh sau 1975.
- SELECT EmployeeID, Name, (YEAR(GETDATE()) - YEAR(BirthDay)) AS 'Age' FROM dbo.Employee
- GO
- -- 6) Tạo 1 hàm thủ tục stored procedure có tên ProcDeleteDepartment với tham số là @departmentId.
- -- Hàm thủ tục này xóa phòng ban với DepartmentID mà được nhập vào từ tham số @departmentId. Viết lời gọi thủ tục
- CREATE PROC ProcDeleteDepartment @departmentID CHAR(5)
- AS
- BEGIN
- IF EXISTS(SELECT * FROM dbo.Department WHERE DepartmentID = @departmentID)
- BEGIN
- BEGIN TRY
- BEGIN TRAN
- DELETE FROM dbo.Employee WHERE DepartmentFK = @departmentID
- DELETE FROM dbo.Department WHERE DepartmentID = @DepartmentID
- COMMIT
- PRINT 'Đã xóa thành công Department ID là ' + @departmentID
- END TRY
- BEGIN CATCH
- ROLLBACK
- END CATCH
- END
- ELSE
- BEGIN
- PRINT N'○ Mã Department này không tồn tại!'
- END
- END
- GO
- EXEC ProcDeleteDepartment '1'
- SELECT * FROM dbo.Employee
- SELECT * FROM dbo.Department
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement