1. Trang chủ
  2. » Tất cả

Procedures and functions in ms sql server

59 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Procedures and Functions in Ms Sql Server
Tác giả Hồ Phương Lâm, Trần Đình Trung, Huỳnh Thị Kim Phượng, Tống Quốc Sang, Chống Đức Anh, Vũ Khắc Tình
Trường học Nhà Hàng Đại Học
Chuyên ngành Computer Science
Thể loại Bài tập
Thành phố Hồ Chí Minh
Định dạng
Số trang 59
Dung lượng 5,58 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Concepts of Functions and Procedures Functions • Được gọi thông qua tên của nó • Chủ yếu được sử dụng cho mục đích tính toán • Function có thể có khối lồng nhau, hoặc nó có thể được xác

Trang 1

Procedures and Functions

in

Nhóm thực hiện: Nhóm 8

Trang 4

1 Concepts of Functions and Procedures

• Parameters

• Return

Trang 5

1 Concepts of Functions and

Trang 6

1 Concepts of Functions and

Trang 7

1 Concepts of Functions and

Procedures

Functions

• Được gọi thông qua tên của nó

• Chủ yếu được sử dụng cho mục đích tính toán

• Function có thể có khối lồng nhau, hoặc nó có thể được xác định và lồng vào bên trong các khối hoặc các gói khác

• Nó chứa một phần khai báo (tùy chọn), phần thực thi, phần xử lý ngoại lệ (tùy chọn)

• Function sử dụng RETURN hoặc tham số OUT để trả

về giá trị, và kiểu dữ liệu trả về được xác định tại thời điểm tạo ra

Trang 8

1 Concepts of Functions and

Procedures

Procedures

• Được gọi thông qua tên của nó

• Chủ yếu được sử dụng để thực hiện một quá trình

• Procedure có thể có khối lồng nhau, hoặc nó có thể được xác định và lồng vào bên trong các khối hoặc các gói khác

• Nó chứa một phần khai báo (tùy chọn), phần thực thi, phần xử lý ngoại lệ (tùy chọn)

• Procedure có thể có RETURN để trả lại quyền kiểm soát vào khối gọi nó, nhưng nó không thể trả lại bất

kỳ giá trị thông qua RETURN

• Giá trị có thể được trả về thông qua các tham số

Trang 9

Built-in functions

2 Functions in MS SQL Server

Trang 10

2 Functions in MS SQL Server

What are Built-In Functions?

Built-in function là 1 mảnh nhỏ của lập trình có thể có

hoặc không có input và trả về một giá trị, được xây dựng sẵn trong SQL

Built-In function thường được sử dụng trong câu lệnh

SELECT để tính toán những giá trị hoặc điều khiển dữ

liệu

Trang 11

2 Functions in MS SQL Server

Using date and

time functions

The GETDATE function trả

về kiểu dữ liệu DATETIME

Trang 12

được gọi là datepart chỉ

rõ cho function phần nào

của ngày được trả về

DATEPART function trả về

kiểu dữ liệu như 1 giá trị

integer, trong khi

DATENAME function trả

về 1 giá trị chuỗi có kiểu

dữ liệu là nvarchar.

Trang 13

2 Functions in MS SQL Server

Using date

and time

functions

Trang 14

2 Functions in MS SQL Server

String functions

RTRIM và LTRIM function xóa

khoảng trắng bên phải và trái

của chuỗi.

LEFT và RIGHT function trả về 7

ký tự đầu từ bên trái và phải.

CONCAT function tự động đổi 1

giá trị không phải là chuỗi thành

chuỗi để trả về chuỗi

Trang 19

User-defined functions

2 Functions in MS SQL Server

Trang 20

Định nghĩa:

Hàm do người dùng định nghĩa (UDFs): Là một đối tượng mới được bổ sung của phiên bản SQL Server 2000 UDFs mang đầy đủ tính chất của một hàm như đa số các ngôn ngữ lập trình khác, có nghĩa là một chương trình con đảm trách một xử lý nào đó với đặc tính là sẽ nhận các thông

số đầu vào và trả về một giá trị kết quả xử lý tính toán được dựa trên các tham số đầu vào đã nhận

20

2 Functions in MS SQL Server

Trang 21

Phân loại: UDFs gồm hai loại chính

1 • Scalar Function

2 • Table-value function

• Một scalar function là hàm trả về một giá trị với kiểu dữ liệu được khai

báo trong RETURNS lúc tạo hàm

• Table-valued function trả

về một table chứa những giá trị từ câu lệnh

2 Functions in MS SQL Server

Trang 22

Đầu tiên, tên của hàm sẽ được đặt sau từ khóa CREATE FUNCTION Tên lược

đồ là tùy chọn Nếu không chỉ định rõ ràng, SQL Server sử dụng dbo theo mặc định

Thứ hai, dấu ngoặc đơn sau tên hàm là một danh sách các tham số

Thứ ba, chỉ định kiểu dữ liệu của giá trị trả về trong câu lệnh RETURN

Thứ tư, bên trong phần thân của hàm, phải bao gồm câu lệnh RETURN để trả

về giá trị

2 Functions in MS SQL Server

Trang 23

statements RETURN value END

Lưu ý rằng có thể sử dụng câu lệnh CREATE OR ALTER để tạo hàm do người dùng định nghĩa nếu nó không tồn tại hoặc để sửa đổi hàm vô hướng hiện có

DROP FUNCTION [schema_name.]function_name;

2 Functions in MS SQL Server

Trang 24

Ví dụ 1:

24

Dưới đây minh họa sơ đồ cơ sở dữ liệu BikeStores

2 Functions in MS SQL Server

Trang 25

Ví dụ 1:

25

Ví dụ sau đây tạo ra một hàm tính toán doanh thu

dựa trên số lượng, giá niêm yết và chiết khấu

2 Functions in MS SQL Server

Trang 27

Gọi hàm và thực thi:

Output:

Xóa hàm:

2 Functions in MS SQL Server

Trang 28

Ví dụ 2:

28

Ví dụ sau đây tạo ra một hàm tính toán giai thừa

của một số nguyên nhập vào:

2 Functions in MS SQL Server

Trang 29

Sau khi tạo thành công:

2 Functions in MS SQL Server

Trang 30

Để thực thi hàm ta dùng lệnh:

Kết quả:

2 Functions in MS SQL Server

Trang 31

CREATE FUNCTION [ schema_name ] function_name (parameter_list) RETURN TABLE

AS RETURN Select_statement

Cú pháp tương tự như cú pháp tạo ra hàm do người dùng định nghĩa

RETURN TABLE chỉ định rằng hàm sẽ trả về một bảng Không có câu lệnh BEGIN END Câu lệnh chỉ đơn giản là truy vấn dữ liệu

2 Functions in MS SQL Server

Trang 32

CREATE FUNCTION [ schema_name ] function_name (parameter_list) RETURN @TableName TABLE (Columns)

AS BEGIN;

Function_body RETURN;

END;

2 Functions in MS SQL Server

Trang 33

Ví dụ 3:

33

Ví dụ sau đây tạo ra một hàm có giá trị bảng trả về danh sách các sản phẩm bao gồm tên sản phẩm, năm sản xuất và giá niêm yết cho một năm sản xuất cụ thể: (Inline)

2 Functions in MS SQL Server

Trang 34

Khi hàm có giá trị bảng được tạo, bạn có thể tìm thấy nó trong Programmability > Functions > Table-valued Functions như trong hình sau:

2 Functions in MS SQL Server

Trang 35

Để thực thi ta sử dụng lệnh:

Ta được kết quả:

2 Functions in MS SQL Server

Trang 37

Sau khi tạo thành công:

2 Functions in MS SQL Server

Trang 38

Để thực thi ta sử dụng lệnh:

Ta được kết quả:

2 Functions in MS SQL Server

Trang 39

Khái niệm

 Stored procedures: là tập hợp một hoặc nhiều câu

lệnh T-SQL thành một nhóm đơn vị xử lý logic và được lưu trữ trên Database Server Khi một câu lệnh gọi chạy stored procedure lần đầu tiên thì SQL Server sẽ chạy nó và lưu trữ vào bộ nhớ đệm, gọi

là plan cache, những lần tiếp theo SQL Server sẽ sử dụng lại plan cache nên sẽ cho tốc độ xử lý tối ưu

3 Procedures in MS SQL Server

Trang 40

CREATE PROCEDURES

• Ta có câu lệnh đơn giản trong SQL như sau:

3 Procedures in MS SQL Server

Trang 41

• Ta có thể chuyển nó thành một thủ tục đơn giản như sau:

CREATE PROCEDURES

3 Procedures in MS SQL Server

Trang 42

CREATE PROCEDURES

• Cấu trúc đơn giản của việc tạo thủ tục là:

3 Procedures in MS SQL Server

Trang 43

CREATE PROCEDURES

• Cấu trúc đầy đủ của việc tạo thủ tục là:

3 Procedures in MS SQL Server

Trang 44

CREATE PROCEDURES

3 Procedures in MS SQL Server

Trang 46

EXECUTE PROCEDURES

• Cấu trúc đơn giản của việc gọi thủ tục là:

3 Procedures in MS SQL Server

Trang 47

Tương tự như đối với một procedure trong

C/C++, một procedure trong SQL có thể nhận vào các tham số khác nhau.

Đối với MS SQL, một procedure có thể có tối

đa 2100 tham số.

Trong MS SQL, tham số có 2 loại: tham số

thông thường và tham số OUTPUT.

Parameterizing

3 Procedures in MS SQL Server

Trang 48

Đây là loại tham số mặc định khi không khai báo gì thêm Tham số loại này nhận một giá trị đầu vào và giá trị này được procedure sử dụng để tính toán

Tham số thông thường

3 Procedures in MS SQL Server

Trang 49

Tham số dạng này được sử dụng để lấy giá trị trả về từ procedures

Tham số OUTPUT

3 Procedures in MS SQL Server

Trang 50

Khi khai báo một procedure với tham số, tham số có thể được gán giá trị mặc định

Giá trị mặc định cho tham số

3 Procedures in MS SQL Server

Trang 51

Đối với một procedure, sau khi khởi tạo, nếu muốn thêm/xóa tham số cho nó, ALTER PROCEDURE được sử dụng

Thêm/xóa tham số cho procedure

3 Procedures in MS SQL Server

Trang 52

Trong MS SQL, có hai cách để truyền tham số vào procedure

1 Truyền tham số trực tiếp (positional parameters)

2 Truyền tham số theo tên (named parameters)

Truyền tham số vào procedure

3 Procedures in MS SQL Server

Trang 53

Tham số được truyền trực tiếp vào procedure theo thứ tự khi khai báo

Truyền tham số trực tiếp

3 Procedures in MS SQL Server

Trang 54

Tham số được truyền vào procedure theo tên của tham số.

Truyền tham số theo tên

3 Procedures in MS SQL Server

Trang 55

Cho cơ sở dữ liệu như hình, Tạo function cho biết số lượng khách hàng theo địa chỉ bất kỳ nhận vào từ tham số với điều kiện là khách hàng có tổng số tiền vay từ trước đến nay từ

200 triệu trở lên:

4 Exercises

Trang 57

Cho cơ sở dữ liệu như hình, tạo stored procedure liệt kê những thông tin của đầu sách, thông tin tựa sách và số lượng sách hiện chưa được mượn của một đầu sách cụ thể (ISBN)

4 Exercises

Ngày đăng: 04/04/2023, 08:24

TỪ KHÓA LIÊN QUAN

w