Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

PROCEDURE

--1,Tạo thủ tục cho biết sĩ số của các khoa trong trường( tính toán):

USE QLDIEM

GO

IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE NAME='SISOKHOA' AND TYPE='P')

DROP PROC SISOKHOA

CREATE PROC SISOKHOA

AS

SELECT KHOA.MAKHOA,KHOA.TENKHOA, COUNT(*)AS 'SL SINHVIEN' FROM SINHVIEN,KHOA WHERE

SINHVIEN.MAKHOA=KHOA.MAKHOA

GROUP BY KHOA.MAKHOA,TENKHOA

EXEC SISOKHOA

--2,Tạo thủ tục cho biết dssv thi lại (hiển thị)

USE QLDIEM

GO

IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE NAME='DSSV' AND TYPE='P')

DROP PROC DSSV

CREATE PROC DSSV

AS

SELECT DISTINCT(KETQUA.MASV),TENSV FROM SINHVIEN,KETQUA

WHERE SINHVIEN.MASV=KETQUA.MASV AND LANTHI>1

EXEC DSSV

--3,Tạo thủ tục đưa tên môn học, và trả về 1 tức là có sinh viên học môn đó ngược lại trả về 0

USE QLDIEM

GO

IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE NAME='SPMONHOC' AND TYPE='P')

DROP PROC SPMONHOC

CREATE PROC SPMONHOC @TENMH VARCHAR(20)

AS

IF EXISTS (SELECT * FROM MONHOC WHERE MAMH IN(SELECT MAMH FROM KETQUA WHERE

 KETQUA.MAMH=MONHOC.MAMH

AND @TENMH=MONHOC.TENMH))

begin

PRINT '0'

RETURN 1

END

ELSE

BEGIN

PRINT'1'

RETURN 0

END

EXEC SPMONHOC 'TRIETHOC'

--CACH2:

USE QLDIEM

GO

CREATE PROC SPMONHOC(@TENMH NCHAR(10))

AS

IF EXISTS(SELECT KETQUA.MASV,KETQUA.MAMH,TENMH FROM KETQUA,MONHOC

WHERE KETQUA.MAMH=MONHOC.MAMH AND MONHOC.TENMH=@TENMH)

RETURN 1

ELSE

RETURN 0

DECLARE @KT INT

EXEC @KT =SPMONHOC'TRIETHOC'

SELECT @KT AS THONGBAO

--Thêm sv vào bảng sv (kiểm tra có hay ko)

--(masv,tensv,ngaysinh,gioitinh,diachi,tinh,makhoa,hocbong)

USE QLDIEM

GO

IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME='THEMSV' AND TYPE='P')

DROP PROCEDURE THEMSV

CREATE PROC THEMSV @MASV VARCHAR(5),@TENSV VARCHAR(50)

,@NGAYSINH DATETIME,@GIOITINH BIT,@DIACHI VARCHAR(50),@TINH VARCHAR(50)

,@MAKHOA VARCHAR(5),@HOCBONG INT

AS

IF EXISTS(SELECT * FROM SINHVIEN WHERE MASV=@MASV)

BEGIN

RAISERROR('DA CO MA SINH VIEN',11,1)

RETURN 1

END

ELSE

INSERT INTO sinhvien(masv,tensv,ngaysinh,gioitinh,diachi,tinh,makhoa,hocbong)

VALUES(@MASV,@TENSV,@NGAYSINH,@GIOITINH,@DIACHI,@TINH,@MAKHOA,@HOCBONG)

IF(@@ERROR=0)

RAISERROR('KO THEM DUOC',11,1)

EXEC THEMSV 09,'NGAN','09/09/90',1,'VIETRI','PHU THO','CNTT',900000

SELECT * FROM SINHVIEN

--XOA MOT SINH VIEN NAO DO THEO MASV

USE QLDIEM

GO

IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME='XOA' AND TYPE='P')

DROP PROC XOA

CREATE PROC XOAt(@MASV INT)

AS

IF NOT EXISTS(SELECT * FROM SINHVIEN WHERE MASV=@MASV)

BEGIN

PRINT('SV 0ton tai')

RETURN

END

DELETE FROM SINHVIEN WHERE MASV=@MASV AND MASV='9'

IF(@@ERROR=0)

PRINT('KHONG XOA DUOC')

EXEC XOAt 9

SELECT * FROM SINHVIEN

--UPDATE THONG TIN CHO BANG SINH VIEN

USE QLDIEM

GO

IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE NAME='CAPNHATSV' AND TYPE='P')

DROP PROC CAPNHATSV

CREATE PROC CAPNHATSV @MASV VARCHAR(5),@TENSV VARCHAR(50),@NGAYSINH DATETIME,@GIOITINH BIT,

@DIACHI VARCHAR(50),@TINH VARCHAR(50),@MAKHOA VARCHAR(5),@HOCBONG INT

AS

IF NOT EXISTS(SELECT * FROM SINHVIEN WHERE MASV=@MASV)

BEGIN

RAISERROR('SV KHONG TON TAI',11,1)

RETURN

END

ELSE

UPDATE SINHVIEN

SET

MASV=@MASV,

TENSV=@TENSV,

NGAYSINH=@NGAYSINH,

GIOITINH=@GIOITINH,

DIACHI=@DIACHI,

TINH=@TINH,

MAKHOA=@MAKHOA,

HOCBONG=@HOCBONG

IF (@@error=0)

raiserror('khong the update',11,1)

go

USE QLDIEM

GO

exec capnhatsv 91003,'tran thu','12/04/1975','0','viet tri','phu tho','CNTT',2200000

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: