PROCEDURE

Màu nền
Font chữ
Font size
Chiều cao dòng

--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: Truyen2U.Pro