-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsp_GVThemDoAn.sql
27 lines (26 loc) · 1.03 KB
/
sp_GVThemDoAn.sql
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
create proc sp_GVThemDoAn
TenDoAn nvarchar(50),@dead_Line datetime , @yeu_cau nvarchar(50),@MaHT int,@SoLuongNhomToiDa int,@SoLuongNhomDaDangKy int,@SoLuongGiaoVienToiDa int ,@SoLuongGiaoVienDaPhuTrach int
as begin
begin tran
--Buoc 1: Kiểm tra ðồ án ðã tồn tại hay chýa
if(exists (select * from DoAn as DA where DA.TenDoAn=@TenDoAn))
begin
print N'Ðồ án ðã tồn tại.'
rollback
return
end
--Buoc 2: Kiểm tra giáo viên ðã nhập ðúng dữ liệu hay chýa
if( (@SoLuongNhomToiDa - @SoLuongNhomDaDangKy < 0) and (@SoLuongGiaoVienToiDa - @SoLuongGiaoVienDaPhuTrach <0) )
begin
print N'Số lượng tối đa phải lớn hơn số lượng đăng ký.'
rollback
return
end
--Buoc 3: Thêm một ðồ án mới
declare @Ma_DA as int
set @Ma_DA=1
while(exists (select * from DoAn as DA where DA.MaDoAn=@Ma_DA))
set @Ma_DA=@Ma_DA+1
Insert into DoAn values (@Ma_DA,@TenDoAn,@dead_Line,@yeu_cau,@MaHT,@SoLuongNhomToiDa,@SoLuongNhomDaDangKy,@SoLuongGiaoVienToiDa,@SoLuongGiaoVienDaPhuTrach)
commit
end