Advertisement
Guest User

Untitled

a guest
Dec 16th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.52 KB | None | 0 0
  1. CREATE DATABASE EmploymentManagement
  2. GO
  3.  
  4. USE EmploymentManagement
  5. GO
  6.  
  7.  
  8. CREATE TABLE Department
  9. (
  10.     DepartmentID INT PRIMARY KEY NOT NULL IDENTITY,
  11.     Name VARCHAR(50) NOT NULL
  12. )
  13. GO
  14.  
  15. CREATE TABLE Employee
  16. (
  17.     EmployeeID INT PRIMARY KEY NOT NULL IDENTITY,
  18.     Name VARCHAR(50) NOT NULL,
  19.     DepartmentFK INT FOREIGN KEY REFERENCES dbo.Department(DepartmentID),
  20.     BirthDay DATETIME DEFAULT('1980-01-10')
  21. )
  22. GO
  23.  
  24. -- INSERT RECORDS
  25. INSERT dbo.Department ( Name )
  26. VALUES  ('Name'  ),
  27.         ('Humman resource'  ),
  28.         ('Research'  ),
  29.         ('Business D'  )
  30. GO
  31.  
  32. INSERT dbo.Employee(Name ,DepartmentFK ,BirthDay)
  33. VALUES  ( 'Micheal John' , '1' , '1970-04-24' ),
  34.         ( 'Anna Lombard' , '2' , '1972-01-02' ),
  35.         ( 'Peter Dawson' , '2' , '1990-07-12' ),
  36.         ( 'Leonard' , '3' , '1981-05-25' ),
  37.         ( 'Elizabeth' , '3' , '1970-03-14' )
  38. GO
  39. /*
  40. 4) Tạo 1 view có tên ViewEmployees hiển thị thông tin của tất cả nhân viên,
  41. gồm EmployeeID, Name, BirthDate và DepartmentName (DepartmentName là tên phòng ban mà nhân viên đó làm việc).
  42. 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.
  43. */
  44. CREATE VIEW [ViewEmployees]
  45. AS SELECT TOP (100) PERCENT E.EmployeeID, E.Name, E.BirthDay, D.Name AS 'DepartmentName' FROM dbo.Employee E, dbo.Department D
  46. WHERE E.DepartmentFK = D.DepartmentID
  47. ORDER BY DepartmentName ASC
  48. GO
  49.  
  50. SELECT * FROM [ViewEmployees]
  51.  
  52. -- 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.
  53. SELECT EmployeeID, Name, (YEAR(GETDATE()) - YEAR(BirthDay)) AS 'Age' FROM dbo.Employee
  54. GO
  55. -- 6) Tạo 1 hàm thủ tục  stored procedure có tên ProcDeleteDepartment với tham số là @departmentId.
  56. --    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  
  57. CREATE PROC ProcDeleteDepartment @departmentID CHAR(5)
  58. AS
  59. BEGIN
  60.     IF EXISTS(SELECT * FROM dbo.Department WHERE DepartmentID = @departmentID)
  61.         BEGIN
  62.             BEGIN TRY
  63.                 BEGIN TRAN
  64.                     DELETE FROM dbo.Employee WHERE DepartmentFK = @departmentID
  65.                     DELETE FROM dbo.Department WHERE DepartmentID = @DepartmentID
  66.                     COMMIT
  67.                     PRINT 'Đã xóa thành công Department ID là ' + @departmentID
  68.             END TRY
  69.             BEGIN CATCH
  70.                 ROLLBACK
  71.             END CATCH
  72.         END
  73.     ELSE
  74.         BEGIN
  75.             PRINT N'○ Mã Department này không tồn tại!'
  76.         END
  77. END
  78. GO
  79.  
  80.  
  81. EXEC ProcDeleteDepartment '1'
  82.  
  83. SELECT * FROM dbo.Employee
  84. SELECT * FROM dbo.Department
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement