Tải bản đầy đủ (.pdf) (10 trang)

Bài giảng Cơ sở dữ liệu Mã kịch bản, hàm và thủ tục ThS. Trịnh Hoàng Nam

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (629.54 KB, 10 trang )

9/5/2016

CƠ SỞ DỮ LIỆU

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

MÃ KỊCH BẢN, HÀM VÀ THỦ TỤC

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

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)



Nhóm câu lệnh n
GO


Mỗi nhóm câu lệnh kết
thúc bởi lệnh GO

Mỗi nhóm câu lệnh
được biên dịch như
một lệnh đơn
Ths. Trịnh Hoàng Nam,

1


9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

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ộ

SET
EXEC

Gán giá trị cho biến cục bộ hoặc biến theo phiên
làm việc
Thực thi câu lệnh SQL hoặc stored procedure
động
Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ 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ác câu lệnh chừng nào điều kiện được chỉ
định là đúng

BREAK

Thoát khỏi vòng lặp WHILE trong cùng

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

RETURN

Thoát vô điều kiện
Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

VÍ DỤ (1)

Ths. Trịnh Hoàng Nam,


2


9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

MÃ KỊCH BẢN

Lưu trữ giá trị trong mã kịch bản

Biến vô hướng

Giá trị đơn (giá trị
dữ liệu chuẩn)

Biến bảng

Bảng tạm

Tập kết quả (dữ
liệu bảng)

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

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ồ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
Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

VÍ DỤ (2)

Ths. Trịnh Hoàng Nam,

3


Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu


9/5/2016

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

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
Cấu trúc điều khiển

 Tên tối đa 128 ký tự

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

VÍ DỤ


Ths. Trịnh Hoàng Nam,

4


9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

THỦ TỤC (PROCEDURE)
CREATE PROCEDURE <tên thủ tục>
[<Danh sách tham số>]
[WITH [RECOMPILE] [, ENCRYPTION]
[, <mệnh đề EXCECUTE AS>]]
AS <Các câu lệnh SQL>
ALTER PROCEDURE <tên thủ tục>
[<Danh sách tham số>]
[WITH [RECOMPILE] [, ENCRYPTION]
[, <mệnh đề EXCECUTE AS>]]
AS <Các câu lệnh SQL>
DROP PROCEDURE <tên thủ tục>
Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ 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 ra

 Truyền trị cho tham số



Truyền theo tên
Truyền theo vị trí

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

VÍ DỤ

Ths. Trịnh Hoàng Nam,

5


9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

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

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

VÍ DỤ

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

VÍ DỤ

Ths. Trịnh Hoàng Nam,

6


Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

9/5/2016


Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

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



Biến
Cấu trúc điều khiển

 Tên tối đa 128 ký tự
Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

VÍ DỤ


Ths. Trịnh Hoàng Nam,

7


9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

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

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

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


Trả về bảng, kết quả của nhiều câu lệnh

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

HÀM GIÁ TRỊ VÔ HƯỚNG
CREATE FUNCTION [<tên schema>.] <tên hàm>
([@<tên tham số> <kiểu dữ liệu> [= <Giá trị mặc định>]] [, …])
RETURNS <kiểu dữ liệu>
[WITH [ENCRYPTION] [, SCHEMABINDING] [, <Mệnh đề EXECUTE AS>]]
[AS]
BEGIN
[<Câu lệnh SQL>]
RETURN <Biểu thức vô hướng>
END

Ths. Trịnh Hoàng Nam,


8


9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

VÍ DỤ

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

HÀM GIÁ TRỊ BẢNG ĐƠN GIẢN
CREATE FUNCTION [<tên schema>.] <tên hàm>
([@<tên tham số> <kiểu dữ liệu> [= <Giá trị mặc định>]] [, …])
RETURNS TABLE
[WITH {ENCRYPTION|SCHEMABINDING|ENCRYPTION,SCHEMABINDING}]
[AS]
RETURN [(] <Câu lệnh SELECT> [)]

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

VÍ DỤ

Ths. Trịnh Hoàng Nam,

9



9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

HÀM GIÁ TRỊ BẢNG PHỨC TẠP
CREATE FUNCTION [<tên schema>] <tên hàm>
([@<tên tham số> <tên kiểu dữ liệu> [= <Giá trị mặc định>]] [,…])
RETURNS @<tên biến trả về> TABLE
(<tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>]
[, <tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>]]…)
[WITH [ENCRYPTION] [, SCHEMABINDING] [, <mệnh đề EXECUTE AS>]]
[AS]
BEGIN
<Các câu lệnh SQL>
RETURN
END

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

VÍ DỤ

Ths. Trịnh Hoàng Nam,

10




×