Stored Procedure là tập hợp các phát biểu T-SQL mà SQL Server biên dịch thành một kế hoạch thực thi. T-SQL Stored Procedure tương tự như các ngôn ngữ lập trình khác, chúng có thể chấp nhận tham số nhập, khai báo và sử dụng biến cục bộ hoặc trả về giá trị xuất cần thiết. Có 3 cách để tạo Stored Procedure nhưng chúng ta vẫn tiếp tục sử dụng SQL Server Management Studio vì cách này hiệu quả nhất.
Tạo mới Stored Procedure
Kích phải chuột lên mục Stored Procedures
- Chọn New Stored Procedure...
Tiếp tục xây dựng Stored Procedure như sau:
Kiểm tra cú pháp của Stored Procedure Để thực hiện lệnh
Create PROCEDURE SP_KetQua_SV
@MaSV varchar(8), @NamHoc int, @HocKy int AS
BEGIN
Select Row_number() Over(Order by A.MaHP) as TT,
A.MaSV,HoLot+' '+Ten as HoTen, A.MaHP,
TenHP,TinChi,DiemMax,DiemChu,DiemSo
From
(Select MaSV,MaHP, DiemMax,DiemChu,DiemSo From BangDiem
where MaSV =@MaSV
and KeHoachID in (Select KeHoachID From KeHoachHT where
NamHoc=@NamHoc and HocKy=@HocKy))A
inner join LLSV B on A.MaSV=B.MaSV
inner join HocPhan C on A.MaHP=C.MaHP
END
GO
Hiệu chỉnh Stored Procedure
Kích phải chuột chọn Modify để hiệu chỉnh lại
mỗi học phần.
Thực hiện Stored Procedure
Để thực hiện Stored Procedure ta thực hiện lệnh Exec Ten_Stored_Procedure từ cửa sổ lệnh SQL như sau:
Exec SP_KetQua_SV '09103018',2010,2
CREATEPROCEDURE SP_Insert_DiemRL
@MaLop varchar(6),@NamHoc int, @HocKy int AS
BEGIN
Declare @MaKhoa int --Khai báo biến MaKhoa
Select @MaKhoa=MaKhoa from Lop where MaLop=@MaLop --Xác định MaKhoa từ MaLop
Insertinto DiemRL(NamHoc,HocKy,MaKhoa,MaLop,MaSV)
Select @NamHoc,@HocKy,@MaKhoa,@MaLop, MaSV From LLSV where MaLop=@MaLop
andNot MaSV in(Select MaSV From DiemRL where NamHoc=@NamHoc and HocKy=@HocKy)
END GO Thực hiện
Bài tập:
1. Xây dựng Store Procedure Xóa danh sách BangDiem của 1 KehoachHT
2. Xây dựng Store Procedure Chèn danh sách SV 1 lớp vào BangDiem có 1 KehoachHT 3. Xây dựng Store Procedure chuyển DS BangDiem của lớp từ KeHoachHT này sang KeHoachHT khác.