![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Bài giảng SQL server: Chương 5 - Lê Thị Minh Nguyện
Số trang: 28
Loại file: pdf
Dung lượng: 1.07 MB
Lượt xem: 25
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng SQL server - Chương 5 trình bày những kiến thức về Store Procedure (thủ tục). Các nội dung chính trong chương này gồm: Thủ tục, thủ tục với tham số đầu vào, thủ tục với tham số đầu ra, thủ tục có lệnh trả về Return, sử dụng bảng tạm trong thủ tục, tham số cursor bên trong thủ tục, giao tác (Transaction). Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng SQL server: Chương 5 - Lê Thị Minh Nguyện 10/03/2015 TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG 5. Store Procedure (thủ tục) GV: Lê Thị Minh Nguyện Email: leminhnguyen@itc.edu.vn NỘI DUNG Khái niệm Thủ tục Thủ tục với tham số đầu vào Thủ tục với tham số đầu ra Thủ tục có lệnh trả về Return Sử dụng bảng tạm trong thủ tục Tham số cursor bên trong thủ tục Giao tác (Transaction) 1 10/03/2015 1.Khái niệm Store procedure (thủ tục): là một tập hợp chứa các dòng lệnh, các biến và các cấu trúc điều khiển trong ngôn ngữ Transaction-SQL dùng để thực hiện một hành động nào đó. Các nét đặc trưng Tên thủ tục Tham số truyền giá trị vào Tham số đón nhận giá trị ra Trong thủ tục nội tại được phép gọi thực thi một thủ tục nội tại khác Có tính cục bộ bên trong một cơ sở dữ liệu lưu trữ thủ tục đó Có thể gọi thực hiện trong môi trường không phải Microsoft SQL Server. 1.Khái niệm Lợi ích của thủ tục Tốc độ xử lý của các thủ tục nội tại rất nhanh. Việc tổ chức và phân chia các xử lý thành hai nơi khác nhau: tại máy chủ hoặc tại máy trạm sẽ giúp giảm thời gian xây dựng ứng dụng. Thủ tục hệ thống Bắt đầu bằng chữ sp_ và hầu hết tất cả các thủ tục hệ thống được lưu trữ bên trong CSDL Master. 2 10/03/2015 2.Thủ tục Cú pháp: CREATE PROC[EDURE] Tên_thủ_tục AS [Declare biến_cục_bộ] các_lệnh 2.Thủ tục Ví dụ 1: cho lược đồ CSDL như sau: MAT_HANG(MaMH, TenMH, DVT, MaNCC, DonGia) PHIEU_XUAT(SoPX, NgayXuat, #SoDH) CTPX(Ma_MH, SoPX, SLXuat) HOA_DONDH(SoDH, NgayDat) CTDH(SoDH, MaMH, SLDH) 3 10/03/2015 2.Thủ tục Ví dụ 1: cho lược đồ CSDL như sau: NHANVIEN(MaNV, HoTen, NgaySinh, NgayVaoLam, MaPhong, ChucVu, LuongCB, PhuCap) Phong(MaPh, TenPh, DiaDiem) DEAN(MaDA, TenDA, KinhPhi, NgayKhoiCong) PHANCONG(MaNV,MaDA, NgayBatDau, NgayKetThuc) 2.Thủ tục Ví dụ 1: Cho biết mặt hàng nào có doanh số bán cao nhất trong tháng 01/20014. CREATE PROC sp_MaxSLHang AS Declare @TenMH varchar(50), @MaxSL int Select @TenMH=RTRIM(TenMH), @MaxSL=SLXuat*dongia From CTPX, PHIEU_XUAT, MAT_HANG Where CTPX.SoPX= PHIEU_XUAT.SoPX And MAT_HANG.MaMH=CTPX.MaMH And convert(char(7), NgayXuat, 21)= ‘2014-01’ And SLXuat *dongia= (Select Max(SLXuat*dongia) From CTPX, PHIEU_XUAT Where CTPX.SoPX=PHIEU_XUAT.SoPX And convert(char(7), NgayXuat, 21)= ‘2014-01’) Print @TenMH + ‘Co doanh so cao nhat la’ + Cast(@MaxSL as char(10)) 4 10/03/2015 2.Thủ tục Gọi thực hiện thủ tục: Cú pháp: EXEC[UTE] Tên_thủ_tục Ví dụ: EXEC sp_MaxSLHang Thay đổi nội dung thủ tục Cú pháp: ALTER PROC[EDURE] Tên_thủ_tục AS [Declare biến_cục_bộ] Các_lệnh. 2.Thủ tục ALTER PROC sp_MaxSLHang AS Declare @TenMH varchar(50), @MaxSL int IF NOT EXISTS(Select Ma_mh From CTPX, PHIEU_XUAT Where CTPX.SoPX= PHIEU_XUAT.SoPX And convert(char(7), NgayXuat, 21)= ‘2014-01’) Begin Print ‘thang 01 nam 2014 chưa bán mặt hàng nào cả’ Return End Select @TenMH=RTRIM(TenMH), @MaxSL=SLXuat From CTPX, PHIEU_XUAT, MAT_HANG Where CTPX.SoPX= PHIEU_XUAT.SoPX And MAT_HANG.MaMH=CTPX.MaMH And convert(char(7), NgayXuat, 21)= ‘2007-01’ And SLXuat = (Select Max(SLXuat) From CTPX, PHIEU_XUAT Where CTPX.SoPX=PHIEU_XUAT.SoPX And convert(char(7), NgayXuat, 21)= ‘2007-01’) Print @TenMH + ‘Co doanh so cao nhat la’ + Cast(@MaxSL as char(10)) 5 10/03/2015 3.Thủ tục với tham số đầu vào Cú pháp: CREATE PROC[EDURE] Tên_thủ_tục @Tên_tham_số kiểu_dữ_liệu [= giá_trị] AS [Declare biến_cục_bộ] các_lệnh 3.Thủ tục với tham số đầu vào Create Proc sp_Days(@Thang Int, @Nam Int) As Declare @SN Int Set @SN = Case When @Thang In (1,3,5,7,8,10,12) Then 31 When @Thang In (4,6,9,11) Then 30 When @Nam % 4 = 0 Then 29 Else 28 End Return @SN 6 10/03/2015 3.Thủ tục với tham số đầu vào Gọi thực hiện thủ tục Declare @SN int Exec @SN = spr_ngaytrongthang 2,2015 print 'So ngay trong thang 2/2002 la ' + Cast(@SN As Char) 3.Thủ tục với tham số đầu vào Tạo thủ tục tính tổng giá trị của một phiếu xuất hàng hoá với tham số vào là số phiếu xuất với kiểu dữ liệu là chuỗi. CREATE PROC sp_TongTGXuat @SoPX char(4) AS Declare @TongTG money Select @TongTG=SUM(SLXuat*DGXuat) From CTPX Where @SoPX=SoPX Print ‘Tri gia phieu xuat’ + CAST(@SoPX AS char(4)) Print ‘là: ’ + CAST(@TongTG as Varchar(15)) Gọi thực hiện thủ tục Exec sp_TongTGXuat ‘PX01’ Hoặc: Exec sp_TongTGXuat @SoPX=‘PX01’ ...
Nội dung trích xuất từ tài liệu:
Bài giảng SQL server: Chương 5 - Lê Thị Minh Nguyện 10/03/2015 TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG 5. Store Procedure (thủ tục) GV: Lê Thị Minh Nguyện Email: leminhnguyen@itc.edu.vn NỘI DUNG Khái niệm Thủ tục Thủ tục với tham số đầu vào Thủ tục với tham số đầu ra Thủ tục có lệnh trả về Return Sử dụng bảng tạm trong thủ tục Tham số cursor bên trong thủ tục Giao tác (Transaction) 1 10/03/2015 1.Khái niệm Store procedure (thủ tục): là một tập hợp chứa các dòng lệnh, các biến và các cấu trúc điều khiển trong ngôn ngữ Transaction-SQL dùng để thực hiện một hành động nào đó. Các nét đặc trưng Tên thủ tục Tham số truyền giá trị vào Tham số đón nhận giá trị ra Trong thủ tục nội tại được phép gọi thực thi một thủ tục nội tại khác Có tính cục bộ bên trong một cơ sở dữ liệu lưu trữ thủ tục đó Có thể gọi thực hiện trong môi trường không phải Microsoft SQL Server. 1.Khái niệm Lợi ích của thủ tục Tốc độ xử lý của các thủ tục nội tại rất nhanh. Việc tổ chức và phân chia các xử lý thành hai nơi khác nhau: tại máy chủ hoặc tại máy trạm sẽ giúp giảm thời gian xây dựng ứng dụng. Thủ tục hệ thống Bắt đầu bằng chữ sp_ và hầu hết tất cả các thủ tục hệ thống được lưu trữ bên trong CSDL Master. 2 10/03/2015 2.Thủ tục Cú pháp: CREATE PROC[EDURE] Tên_thủ_tục AS [Declare biến_cục_bộ] các_lệnh 2.Thủ tục Ví dụ 1: cho lược đồ CSDL như sau: MAT_HANG(MaMH, TenMH, DVT, MaNCC, DonGia) PHIEU_XUAT(SoPX, NgayXuat, #SoDH) CTPX(Ma_MH, SoPX, SLXuat) HOA_DONDH(SoDH, NgayDat) CTDH(SoDH, MaMH, SLDH) 3 10/03/2015 2.Thủ tục Ví dụ 1: cho lược đồ CSDL như sau: NHANVIEN(MaNV, HoTen, NgaySinh, NgayVaoLam, MaPhong, ChucVu, LuongCB, PhuCap) Phong(MaPh, TenPh, DiaDiem) DEAN(MaDA, TenDA, KinhPhi, NgayKhoiCong) PHANCONG(MaNV,MaDA, NgayBatDau, NgayKetThuc) 2.Thủ tục Ví dụ 1: Cho biết mặt hàng nào có doanh số bán cao nhất trong tháng 01/20014. CREATE PROC sp_MaxSLHang AS Declare @TenMH varchar(50), @MaxSL int Select @TenMH=RTRIM(TenMH), @MaxSL=SLXuat*dongia From CTPX, PHIEU_XUAT, MAT_HANG Where CTPX.SoPX= PHIEU_XUAT.SoPX And MAT_HANG.MaMH=CTPX.MaMH And convert(char(7), NgayXuat, 21)= ‘2014-01’ And SLXuat *dongia= (Select Max(SLXuat*dongia) From CTPX, PHIEU_XUAT Where CTPX.SoPX=PHIEU_XUAT.SoPX And convert(char(7), NgayXuat, 21)= ‘2014-01’) Print @TenMH + ‘Co doanh so cao nhat la’ + Cast(@MaxSL as char(10)) 4 10/03/2015 2.Thủ tục Gọi thực hiện thủ tục: Cú pháp: EXEC[UTE] Tên_thủ_tục Ví dụ: EXEC sp_MaxSLHang Thay đổi nội dung thủ tục Cú pháp: ALTER PROC[EDURE] Tên_thủ_tục AS [Declare biến_cục_bộ] Các_lệnh. 2.Thủ tục ALTER PROC sp_MaxSLHang AS Declare @TenMH varchar(50), @MaxSL int IF NOT EXISTS(Select Ma_mh From CTPX, PHIEU_XUAT Where CTPX.SoPX= PHIEU_XUAT.SoPX And convert(char(7), NgayXuat, 21)= ‘2014-01’) Begin Print ‘thang 01 nam 2014 chưa bán mặt hàng nào cả’ Return End Select @TenMH=RTRIM(TenMH), @MaxSL=SLXuat From CTPX, PHIEU_XUAT, MAT_HANG Where CTPX.SoPX= PHIEU_XUAT.SoPX And MAT_HANG.MaMH=CTPX.MaMH And convert(char(7), NgayXuat, 21)= ‘2007-01’ And SLXuat = (Select Max(SLXuat) From CTPX, PHIEU_XUAT Where CTPX.SoPX=PHIEU_XUAT.SoPX And convert(char(7), NgayXuat, 21)= ‘2007-01’) Print @TenMH + ‘Co doanh so cao nhat la’ + Cast(@MaxSL as char(10)) 5 10/03/2015 3.Thủ tục với tham số đầu vào Cú pháp: CREATE PROC[EDURE] Tên_thủ_tục @Tên_tham_số kiểu_dữ_liệu [= giá_trị] AS [Declare biến_cục_bộ] các_lệnh 3.Thủ tục với tham số đầu vào Create Proc sp_Days(@Thang Int, @Nam Int) As Declare @SN Int Set @SN = Case When @Thang In (1,3,5,7,8,10,12) Then 31 When @Thang In (4,6,9,11) Then 30 When @Nam % 4 = 0 Then 29 Else 28 End Return @SN 6 10/03/2015 3.Thủ tục với tham số đầu vào Gọi thực hiện thủ tục Declare @SN int Exec @SN = spr_ngaytrongthang 2,2015 print 'So ngay trong thang 2/2002 la ' + Cast(@SN As Char) 3.Thủ tục với tham số đầu vào Tạo thủ tục tính tổng giá trị của một phiếu xuất hàng hoá với tham số vào là số phiếu xuất với kiểu dữ liệu là chuỗi. CREATE PROC sp_TongTGXuat @SoPX char(4) AS Declare @TongTG money Select @TongTG=SUM(SLXuat*DGXuat) From CTPX Where @SoPX=SoPX Print ‘Tri gia phieu xuat’ + CAST(@SoPX AS char(4)) Print ‘là: ’ + CAST(@TongTG as Varchar(15)) Gọi thực hiện thủ tục Exec sp_TongTGXuat ‘PX01’ Hoặc: Exec sp_TongTGXuat @SoPX=‘PX01’ ...
Tìm kiếm theo từ khóa liên quan:
SQL server Bài giảng SQL server Hệ quản trị SQL server Hệ quản trị cơ sở dữ liệu Thủ tục với tham số đầu vào Thủ tục với tham số đầu raTài liệu liên quan:
-
Giáo án Tin học lớp 12 (Trọn bộ cả năm)
180 trang 284 0 0 -
Thực hiện truy vấn không gian với WebGIS
8 trang 261 0 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 251 0 0 -
69 trang 148 0 0
-
57 trang 90 0 0
-
Bài giảng Khái niệm về hệ cơ sở dữ liệu: Bài 2 - Hệ quản trị cơ sở dữ liệu
13 trang 88 0 0 -
34 trang 85 0 0
-
Giáo trình Hệ quản trị cơ sở dữ liệu - Trần Thiên Thành
130 trang 78 0 0 -
Phát triển Java 2.0: Phân tích dữ liệu lớn bằng MapReduce của Hadoop
12 trang 76 0 0 -
Lý thuyết, bài tập và bài giải hệ thống thông tin kế toán: Phần 1
198 trang 71 0 0