1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 4 -Giáo trình SQL server 2000

17 776 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 277,5 KB

Nội dung

Giáo trình SQL server 2000

ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 1 Hệ quản trị CSDL SQL Server CHƯƠNG 4: THỦ TỤC NỘI TẠI CHƯƠNG 4: THỦ TỤC NỘI TẠI ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 2 Chương 4: Thủ tục nội tại Nội dung     ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 3 4.1. Khái niệm Thủ tục nội tại (store procedure) là một tập hợp chứa các dòng lệnh, các biến, các cấu trúc dùng để thực hiện một hành động nào đó. Nội dung của thủ tục nội tại sẽ được lưu trữ tại CSDL của MS SQL SERVER Phạm vi hoạt động của thủ tục nội tại do người dùng tạo ra chỉ có tính cục bộ bên trong một CSDL mà nó lưu trữ. Các NNLT khác có thể gọi thủ tục nội tại một cách dễ dàng. Thực thi nhanh vì nội dung bên trong thủ tục đã được phân tích cú pháp khi chúng được tạo mới. ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 4 4.1.1. Tạo mới thủ tục nội tại Các bước thực hiện ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 5 4.1.1. Tạo mới thủ tục nội tại Các bước thực hiện ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 6 4.1.1. Tạo mới thủ tục nội tại Ngoài ra có thể tạo mới thủ tục nội tại bằng lệnh CREATE PROCEDURE Cú pháp: !"#"$!% "&'!"()) *)))+,-). . #/ 0&" 1#!"2())3 ). ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 7 4.1.1. Tạo mới thủ tục nội tại Trong đó ())45.6+7 /&1 2())4.6,8,+9 8 ).416., 14 • input (không cần ghi) • output ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 8 4.1.1. Tạo mới thủ tục nội tại Ví dụ: CREATE PROCEDURE sp_tblTong AS DECLARE @ten VARCHAR(30), @sl INT SELECT @ten = TenHang, @sl = SoLuong FROM tblTong WHERE (SoLuong=(Select MAX(SoLuong) From tblTong)) PRINT @ten + ' co doanh so ban cao nhat!' PRINT 'Voi so luong: ' + CAST(@sl AS VARCHAR(10)) ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 9 4.1.2. Gọi thực hiện thủ tục nội tại Chúng ta chỉ có thể thực hiện thủ tục nội tại EXECUTE trong tiện ích Query Analyzer, hay trong NNLT. Cú pháp: ":" 0'"3 ()));* 053 Ví dụ ":" '" 5). <=4 ":" 5). ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 10 4.1.3. Hủy bỏ thủ tục nội tại Khi không cần sử dụng nữa thì chúng ta có thể hủy bỏ nó ra khỏi CSDL. Dùng lệnh &!%$$!% "&'!"()) Ví dụ: &!%$$!% "&'!"5). [...]... @tong oủtpủt print @tong ctsdhv@yahoo.com SQL SERVER, 1st Edition Chapter 4 Slide 12 4. 1 .4 Ví dụ Bài tập: Viết hàm sinh ra mã cán bộ tự động theo quy tắc: Mã cán bốệ có daệng: CB0001 ‘CB’ : qủy điệnh (lủốn có) 0001 : là sốố VD: • Hiện tại Cán bộ có mã cao nhất là CB00 24 • Thì sinh mã mới là CB0025 ctsdhv@yahoo.com SQL SERVER, 1st Edition Chapter 4 Slide 13 4. 1 .4 Ví dụ Bài tập: Create procedủre sinhkhoa... Bài tập: Create procedủre sinhkhoa @s char(10) oủtpủt as begin declare @max int select @max = max(cast(sủbstring(MCB,3 ,4) as int)) + 1 from tblcanbo set @s = '0000' + rtrim(cast(@max as char (4) )) set @s = 'CB' + right(@s ,4) end ctsdhv@yahoo.com SQL SERVER, 1st Edition Chapter 4 Slide 14 4.2 Sử dụng RETURN trong thủ tục Thông thường sử dụng lệnh RETURN để thoát khỏi thủ tục trong trường hợp dữ liệu không.. .4. 1 .4 Ví dụ Viết thủ tục xóa các sinh viên theo thành phố trong bảng sinhvien (masv char(5), tp char(5)) create procedủre xoasinhvien @tp char(5) as begin delete from sinhvien where tp = @tp end Gọi thủ tục exec xoasinhvien ‘HCM’ ctsdhv@yahoo.com SQL SERVER, 1st Edition Chapter 4 Slide 11 4. 1 .4 Ví dụ Viết thủ tục đếm xem có bao nhiêu sinh viên theo... @nPhanTram) END ctsdhv@yahoo.com SQL SERVER, 1st Edition Chapter 4 Slide 16 4. 3 Thủ tục cập nhật bảng dữ liệu Gọi thủ tục EXEC sp_vattu_them 'TV001','Ti vi 29 inch Sam sung','Bộ',15 Nếu dữ liệu là xâu Unicode: thêm chữ N EXEC sp_vattu_them 'TV002',N'Tủ lạnh',N'Chiếc',15 Bài tập Xem đoaện kiệủm tra dữữ liệệủ nhấệp vào trong tài liệệủ ctsdhv@yahoo.com SQL SERVER, 1st Edition Chapter 4 Slide 17 ... RETURN [so_ngủyen] Nệốủ chiủ sữủ dủệng RETURN thì seữ traủ vệề 0 ctsdhv@yahoo.com SQL SERVER, 1st Edition Chapter 4 Slide 15 4. 3 Thủ tục cập nhật bảng dữ liệu Thủ tục dạng này sẽ được gọi thực hiện và truyền các giá trị cho tham số từ bên trong một môi trường khác (các NNLT) CREATE PROCEDURE sp_vattủ_them @sMaVT CHAR (4) , @sTenVT NVARCHAR(50), @sDVT NVARCHAR(30), @nPhanTram INT AS BEGIN INSERT INTO . ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 1 Hệ quản trị CSDL SQL Server CHƯƠNG 4: THỦ TỤC NỘI TẠI CHƯƠNG 4: THỦ TỤC NỘI TẠI ctsdhv@yahoo.com SQL SERVER,. ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide 4 4.1.1. Tạo mới thủ tục nội tại Các bước thực hiện ctsdhv@yahoo.com SQL SERVER, 1st Edition. Chapter 4 Slide

Ngày đăng: 18/02/2014, 19:08

w