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