Bài giảng Cơ sở dữ liệu - Chương 7: Mã kịch bản, hàm và thủ tục

pdf 10 trang ngocly 60
Bạn đang xem tài liệu "Bài giảng Cơ sở dữ liệu - Chương 7: Mã kịch bản, hàm và thủ tục", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_co_so_du_lieu_chuong_7_ma_kich_ban_ham_va_thu_tuc.pdf

Nội dung text: Bài giảng Cơ sở dữ liệu - Chương 7: Mã kịch bản, hàm và thủ tục

  1. 9/5/2016 CƠ SỞ DỮ LIỆU MÃ KỊCH BẢN, HÀM VÀ THỦ TỤC Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] MÃ KỊCH BẢN Mã kịch bản Nhóm câu lệnh 1 Các câu lệnh SQL riêng lẻ GO Gom thành các nhóm lệnh (batch) Tổng quan hệ thống cơ sở dữ liệu Nhóm câu lệnh n – GO Mỗi nhóm câu lệnh kết Mỗi nhóm câu lệnh thúc bởi lệnh GO được biên dịch như Cơ sở dữ liệu một lệnh đơn Ths. Trịnh Hoàng Nam, [email protected] 1
  2. 9/5/2016 MÃ KỊCH BẢN . Các câu lệnh xử lý mã kịch bản Từ khóa Mô tả USE Thay đổi cơ sở dữ liệu hiện thời thành cơ sở dữ liệu được chỉ định trong câu lệnh PRINT Trả về thông báo tới client DECLARE Định nghĩa biến cục bộ Tổng quan hệ thống cơ sở dữ liệu – SET Gán giá trị cho biến cục bộ hoặc biến theo phiên làm việc EXEC Thực thi câu lệnh SQL hoặc stored procedure động Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] MÃ KỊCH BẢN . Các câu lệnh điều khiển luồng thực thi Từ khóa Mô tả IF ELSE Điều khiển luồng thực thi dựa vào điều kiện BEGIN END Định nghĩa khối câu lệnh Lặp lại các câu lệnh chừng nào điều kiện được chỉ WHILE định là đúng BREAK Thoát khỏi vòng lặp WHILE trong cùng Tổng quan hệ thống cơ sở dữ liệu – CONTINUE Quay về điểm bắt đầu vòng lặp WHILE TRY CATCH Điều khiển luồng thực thi khi có lỗi xảy ra GOTO Thay đổi luồng thực thi vô điều kiện Cơ sở dữ liệuRETURN Thoát vô điều kiện Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ (1) Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 2
  3. 9/5/2016 MÃ KỊCH BẢN Lưu trữ giá trị trong mã kịch bản Biến vô hướng Biến bảng Bảng tạm Tổng quan hệ thống cơ sở dữ liệu – Giá trị đơn (giá trị Tập kết quả (dữ dữ liệu chuẩn) liệu bảng) Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] BẢNG TẠM . Dùng để lưu trữ một tập kết quả trả về (dữ liệu dưới dạng bảng) từ một câu lệnh SELECT . Hai loại bảng tạm  Bảng tạm cục bộ . Tên bắt đầu bằng dấu # . Tồn tại trong phiên làm việc hiện tại. Trong phạm vi cửa sổ soạn thảo truy vấn tạo ra bảng đó  Bảng tạm toàn cục . Tên bắt đầu bằng dấu ## Tổng quan hệ thống cơ sở dữ liệu – . Tồn tại trong tất cả các phiên làm việc . Bảng tạm được lưu trong CSDL tempdb . Để xóa một bảng tạm, sử dụng lệnh DROP TABLE Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ (2) Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 3
  4. 9/5/2016 Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] THỦ TỤC (PROCEDURE) . Procedure là một tập các câu lệnh  Thực hiện một nhiệm vụ cụ thể  Được đặt tên và lưu trữ dưới dạng đã biên dịch . Các thành phần  Biến Tổng quan hệ thống cơ sở dữ liệu  Cấu trúc điều khiển – . Tên tối đa 128 ký tự Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 4
  5. 9/5/2016 THỦ TỤC (PROCEDURE) CREATE PROCEDURE [ ] [WITH [RECOMPILE] [, ENCRYPTION] [, ]] AS ALTER PROCEDURE [ ] Tổng quan hệ thống cơ sở dữ liệu – [WITH [RECOMPILE] [, ENCRYPTION] [, ]] AS Cơ sở dữ liệu DROP PROCEDURE Ths. Trịnh Hoàng Nam, [email protected] THỦ TỤC (PROCEDURE) . Hai loại tham số  Tham số đầu vào . Tham số bắt buộc . Tham số tùy chọn  Tham số đầu ra . Truyền trị cho tham số Tổng quan hệ thống cơ sở dữ liệu Truyền theo tên –  Truyền theo vị trí Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 5
  6. 9/5/2016 THỦ TỤC (PROCEDURE) . Làm việc với giá trị trả về  Sử dụng tham số OUTPUT để trả về giá trị có kiểu dữ liệu bất kì  Sử dụng hàm RETURN để trả về giá trị số nguyên Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 6
  7. 9/5/2016 Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] HÀM (FUNCTION) . Function là một tập các câu lệnh  Thực hiện một nhiệm vụ cụ thể  Được đặt tên và lưu trữ dưới dạng đã biên dịch  Trả về kết quả là một giá trị (lệnh return) . Các thành phần Tổng quan hệ thống cơ sở dữ liệu  Biến –  Cấu trúc điều khiển . Tên tối đa 128 ký tự Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 7
  8. 9/5/2016 HÀM (FUNCTION) . Chú ý  Không có tham số đầu ra (output)  Không chứa các lệnh Insert, Update, Delete liên quan đến bảng (khung nhìn) có sẵn  Có thể tạo bảng, bảng tạm, biến bảng Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] HÀM (FUNCTION) . Hàm giá trị vô hướng  Trả về giá trị đơn . Hàm giá trị bảng đơn giản  Trả về bảng, kết quả của một câu lệnh SELECT đơn . Hàm giá trị bảng phức tạp Tổng quan hệ thống cơ sở dữ liệu –  Trả về bảng, kết quả của nhiều câu lệnh Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] HÀM GIÁ TRỊ VÔ HƯỚNG CREATE FUNCTION [ .] ([@ [= ]] [, ]) RETURNS [WITH [ENCRYPTION] [, SCHEMABINDING] [, ]] [AS] BEGIN [ ] RETURN END Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 8
  9. 9/5/2016 VÍ DỤ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] HÀM GIÁ TRỊ BẢNG ĐƠN GIẢN CREATE FUNCTION [ .] ([@ [= ]] [, ]) RETURNS TABLE [WITH {ENCRYPTION|SCHEMABINDING|ENCRYPTION,SCHEMABINDING}] [AS] RETURN [(] [)] Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 9
  10. 9/5/2016 HÀM GIÁ TRỊ BẢNG PHỨC TẠP CREATE FUNCTION [ ] ([@ [= ]] [, ]) RETURNS @ TABLE ( [ ] [, [ ]] ) [WITH [ENCRYPTION] [, SCHEMABINDING] [, ]] [AS] BEGIN Tổng quan hệRETURN thống cơ sở dữ liệu – END Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 10