-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQLSINHVIEN.sql
More file actions
74 lines (62 loc) · 1.24 KB
/
QLSINHVIEN.sql
File metadata and controls
74 lines (62 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
CREATE DATABASE QLSV1
USE QLSV1
CREATE TABLE LOP
(
MALOP CHAR(10) PRIMARY KEY NOT NULL,
TENLOP NVARCHAR(20) NOT NULL,
PHONG CHAR(10) NOT NULL
)
CREATE TABLE SV
(
MASV CHAR(10) PRIMARY KEY NOT NULL,
TENSV NVARCHAR(20) NOT NULL,
MALOP CHAR(10) NOT NULL,
CONSTRAINT FK1 FOREIGN KEY(MALOP) REFERENCES LOP(MALOP)
)
INSERT INTO SV VALUES
('1', 'A', '1'),
('2', 'B', '2'),
('3', 'C', '1'),
('4', 'D', '3')
INSERT INTO LOP VALUES
('1', 'CD', '1'),
('2', 'DH', '2'),
('3', 'CD', '2'),
('4', 'CH', '4')
SELECT * FROM SV
SELECT * FROM LOP
CREATE FUNCTION THONGKE(@PHONG CHAR(10))
RETURNS INT
AS
BEGIN
IF (NOT EXISTS(SELECT * FROM LOP WHERE PHONG = @PHONG))
RETURN 0
ELSE
DECLARE @DEM INT
SELECT @DEM = COUNT(MALOP)
FROM LOP
WHERE PHONG = @PHONG
GROUP BY PHONG
RETURN @DEM
END
SELECT DBO.THONGKE('3')
CREATE FUNCTION CAU5(@PHONG CHAR(10))
RETURNS @TK1 TABLE (MASV CHAR(10), TENSV CHAR(10), TENLOP CHAR(10))
AS
BEGIN
IF (NOT EXISTS(SELECT * FROM LOP WHERE PHONG = @PHONG))
BEGIN
INSERT INTO @TK1
SELECT MASV, TENSV, TENLOP
FROM SV INNER JOIN LOP
ON SV.MALOP = LOP.MALOP
END
ELSE
INSERT INTO @TK1
SELECT MASV, TENSV, TENLOP
FROM SV INNER JOIN LOP
ON SV.MALOP = LOP.MALOP
WHERE PHONG = @PHONG
RETURN
END
SELECT * FROM CAU5('5')