SlideShare a Scribd company logo
1 of 16
1
Hệ Quản Trị CSDL
Cursor - Function
2
+ Cursor
+ Function
+ Tài liệu tham khảo
+ Demo
Nội Dung
3
Cursor
Khái Niệm
Cú Pháp
Các kiểu Cursor
Demo
4
Cursor
- Cursor là một kiểu dữ liệu đặc biệt (kiểu dữ liệu con
trỏ), được dùng để duyệt qua từng dòng dữ liệu trả về
từ câu truy vấn SELECT đó, giúp ta có thể có những
xử lý khác nhau cho từng dòng dữ liệu cụ thể.
Khái Niệm
Đặc điểm:
- Cho phép thao tác trên từng dòng dữ liệu trả về từ
lệnh SELECT.
- Do phải duyệt qua từng dòng dữ liệu nên đây là cách
xử lý chậm nhất.
5
Cursor
Cú Pháp
DECLARE cursor_name CURSOR
[ LOCAL | GLOBAL ]
[ FORWARD_ONLY | SCROLL ]
[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
[ TYPE_WARNING ]
FOR select_statement
[ FOR UPDATE [ OF column_name [ ,...n ] ] ]
 Trong đó:
+ LOCALGLOBAL : chỉ định phạm vi hoạt động của biến Cursor.
+ FORWARD_ONLY: chỉ định việc đọc dữ liệu trong cursor chỉ theo
chiều đi tới.
+ SCROLL: chỉ định việc đọc dữ liệu trong cursor được phép di
chuyển tới lui.
6
Cursor
Cú Pháp
DECLARE cursor_name [INSENSITIVE] [SCROLL] CURSOR
FOR Select_statement
+ trong đó Select_statement là câu lệnh lựa chọn đến các cột
bảng và ta cần đọc..
+ INSENSITIVE: Tạo 1 bảng copy tạm, thay thế bảng chính..
Lệnh khai báo cursor:
Lệnh mở cursor: OPEN cursor_name
7
Cursor
Cú Pháp
@@FETCH_STATUS = 0 : lấy dữ liệu thành công.
@@FETCH_STATUS < 0 : không lấy được dữ liệu.
Kiểm tra kết quả lấy dữ liệu từ cursor (kiểm tra ngay
sau lệnh FETCH NEXT):
CLOSE cursor_name
DEALLOCATE cursor_name
Đóng cursor:
Lệnh lấy dữ liệu từ trong cursor:
FETCH [NEXT| PRIOR| FIRST| LAST| ] FROM cursor_name
INTO @variable1, @variable2, …
8
Cursor
các kiểu cursor
DYNAMIC (cursor động): Khi có sữ thay đổi dữ liệu gốc (base
table) thì các dữ liệu đó tự động cập nhật trong dữ liệu của cursor.
KEY SET (gần như DYNAMIC): Tuy nhiên với mẩu tin vừa thêm
mới hoặc những mẫu tin vừa hủy bỏ sẽ không hiển thị trong dữ liệu của
cursor có kiểu là keyset.
STATIC (cursor tĩnh): Khi có sự thay đổi bên dưới dữ liệu gốc (base
table) thì các dữ liệu đó không được tự động cập nhật trong dữ liệu của
curso.
READ_ONLY: dùng chỉ định dữ liệu bên trong cursor là chỉ đọc nhằm
hạn chế việc sửa đổi dữ liệu. Khi khai báo cursor với kiểu dữ liệu là tĩnh
(STATIC) thì dữ liệu trong cursor xem như là chỉ đọc.
9
Giới Thiệu
Function
Khái Niệm
Cú Pháp
Demo
10
Function
Giới Thiệu
Trong SQLServer ngoài những hàm hệ thống có sẵn
như các nhóm hàm: String Functions, Date and Time
Functions, Mathematical Functions v.v.. ta cũng có
thể xây dựng các hàm nhằm phục vụ nhu cầu tính
toán, phát triển ứng dụng hoặc các mục đích xử dụng
khác nhằm mang lại sự tiện lợi hơn cho chúng ta.
11
Function
Khái Niệm
- Cũng như Stored Procedure, Hàm (Function) bao
gồm một tập nhiều câu lệnh SQL được kết hợp lại
thành một nhóm và tạo thành 1 đối tượng cho phép
sử dụng hàm như một thành phần của biểu thức
trong các câu truy vấn hay cập nhật dữ liệu.
- Hàm luôn trả về giá trị thông qua tên hàm.
12
Function
- Phân loại: gồm 2 loại
+ Hàm hệ thống: String Functions, Date and Time
Functions, Mathematical Functions v.v.
+ Hàm do người dùng tự định nghĩa: Hàm trả về
kiểu bảng (Table valued Functions) và hàm trả về giá
trị vô hướng (Scalar valued Functions).
Khái Niệm
13
Cú Pháp
CREATE FUNTION function_name
( [@parameter_name parameter_data_type] )
RETURNS [return Data-type] /*Returns có ‘s’ */
AS
Begin
return [scalar value/select command]
End
Tạo hàm:
Xóa hàm: DROP FUNTION function_name
Function
14
Hàm trả về giá trị vô hướng
Hàm trả về một giá trị kiểu chuỗi, ngày tháng, kiểu
số v.v.. do người dùng định nghĩa. Khi bạn đã định
nghĩa hàm trả về giá trị, bạn có thể sử dụng nó trong
các biểu thức tính toán của hàm khác, của Stored
Procedure hay trong các câu truy vấn v.v..
Function
15
Hàm kiểu bảng
Hàm kiểu bảng có kết quả trả về là một cấu trúc kiểu
bảng do đó bạn có thể dùng để truy vấn (không có thêm,
sửa, xóa dữ liệu) như một Table thông thường như lệnh
SELECT, JOINT, ... Hàm kiểu bảng sẽ mềm dẻo và linh
hoạt hơn vì nó có thể nhận các tham số đầu vào và có
thể có nhiều lệnh thao tác dữ liệu bên trong hàm.
Function
16
https://technet.microsoft.com/en-us/library/aa258831(v=sql.80).aspx
http://sinhvienit.net/forum/sql-server-su-dung-bien-kieu-du-lieu-
cursor.57750.html
http://btinhoc.com/lap-trinh/sql-user-defined-functions-ham-sql-do-nguoi-
dung-dinh-nghia.htm
Tài liệu tham khảo

More Related Content

What's hot

Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinVõ Phúc
 
Co so du lieu t sql
Co so du lieu t sqlCo so du lieu t sql
Co so du lieu t sqlANHMATTROI
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)MasterCode.vn
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýMasterCode.vn
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1pisu412
 
Báo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềmBáo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềmytthuan
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql. .
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuThiênĐàng CôngDân
 
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTIT
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTITBài tập lớn Phát triển phần mềm hướng dịch vụ PTIT
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTITPopping Khiem - Funky Dance Crew PTIT
 
91684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-291684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-2tranquanthien
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngleemindinh
 
Chuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tánChuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tánduysu
 
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPTBài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPTMasterCode.vn
 
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTBài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTMasterCode.vn
 
Báo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngBáo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngJojo Kim
 

What's hot (20)

Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Co so du lieu t sql
Co so du lieu t sqlCo so du lieu t sql
Co so du lieu t sql
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
 
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SENĐề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lý
 
Laravel 5 framework
Laravel 5 frameworkLaravel 5 framework
Laravel 5 framework
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
 
Báo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềmBáo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềm
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
 
Đề tài: Quản lí Tour du lịch, HAY, 9đ
Đề tài: Quản lí Tour du lịch, HAY, 9đĐề tài: Quản lí Tour du lịch, HAY, 9đ
Đề tài: Quản lí Tour du lịch, HAY, 9đ
 
Đề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đ
Đề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đĐề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đ
Đề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đ
 
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTIT
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTITBài tập lớn Phát triển phần mềm hướng dịch vụ PTIT
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTIT
 
91684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-291684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-2
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Postgresql security
Postgresql securityPostgresql security
Postgresql security
 
Chuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tánChuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tán
 
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPTBài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
 
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTBài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
 
Báo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngBáo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thống
 

Viewers also liked

BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPTBÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPTMasterCode.vn
 
Hd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHai Rom
 
Bài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, deleteBài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, deletevanphong20082002
 
Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#An Nguyen
 
Lập trình web asp.net MVC
Lập trình web asp.net MVCLập trình web asp.net MVC
Lập trình web asp.net MVCMasterCode.vn
 
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL serverBài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverMasterCode.vn
 
Bài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQLBài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQLMasterCode.vn
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTMasterCode.vn
 
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPTBài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPTMasterCode.vn
 
Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#
Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#
Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#MasterCode.vn
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTMasterCode.vn
 
đề Tài thực trạng vấn đề quản lý nguồn nhân lực của công ty dệt may xuất khẩu...
đề Tài thực trạng vấn đề quản lý nguồn nhân lực của công ty dệt may xuất khẩu...đề Tài thực trạng vấn đề quản lý nguồn nhân lực của công ty dệt may xuất khẩu...
đề Tài thực trạng vấn đề quản lý nguồn nhân lực của công ty dệt may xuất khẩu...tainguyenphu
 
Bài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuBài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuMasterCode.vn
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vntailieumienphi
 
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựAskSock Ngô Quang Đạo
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 

Viewers also liked (19)

BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPTBÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
 
Hd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanh
 
Trigger in SQL
Trigger in SQLTrigger in SQL
Trigger in SQL
 
Bài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, deleteBài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, delete
 
Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#
 
Lập trình web asp.net MVC
Lập trình web asp.net MVCLập trình web asp.net MVC
Lập trình web asp.net MVC
 
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL serverBài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
Bài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQLBài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQL
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
 
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPTBài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
 
Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#
Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#
Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
 
đề Tài thực trạng vấn đề quản lý nguồn nhân lực của công ty dệt may xuất khẩu...
đề Tài thực trạng vấn đề quản lý nguồn nhân lực của công ty dệt may xuất khẩu...đề Tài thực trạng vấn đề quản lý nguồn nhân lực của công ty dệt may xuất khẩu...
đề Tài thực trạng vấn đề quản lý nguồn nhân lực của công ty dệt may xuất khẩu...
 
Bài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuBài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệu
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
 
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
 
Sql Functions And Procedures
Sql Functions And ProceduresSql Functions And Procedures
Sql Functions And Procedures
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 

Similar to Cursor & Function trong SQL Server

Bài 6 Sử dụng hàm - Giáo trình FPT
Bài 6 Sử dụng hàm - Giáo trình FPTBài 6 Sử dụng hàm - Giáo trình FPT
Bài 6 Sử dụng hàm - Giáo trình FPTMasterCode.vn
 
Qtu.vn sql - chuong 7
Qtu.vn  sql - chuong 7Qtu.vn  sql - chuong 7
Qtu.vn sql - chuong 7Hoang le Minh
 
Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)khanhtoankmz
 
Tối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sqlTối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sqlViet Tran
 
Lựa chọn thuộc tính và Khai phá luật kết hợp trên WEKA
Lựa chọn thuộc tính và Khai phá luật kết hợp trên WEKALựa chọn thuộc tính và Khai phá luật kết hợp trên WEKA
Lựa chọn thuộc tính và Khai phá luật kết hợp trên WEKAHo Quang Thanh
 
Ky thuat l.trinh_java
Ky thuat l.trinh_javaKy thuat l.trinh_java
Ky thuat l.trinh_javaLam Man
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTMasterCode.vn
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcmHong Phuoc Nguyen
 
Cơ sở dữ liệu postgres
Cơ sở dữ liệu postgresCơ sở dữ liệu postgres
Cơ sở dữ liệu postgresTechMaster Vietnam
 
Devwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP LaravelDevwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP LaravelDevwork
 

Similar to Cursor & Function trong SQL Server (20)

Java Tieng Viet
Java Tieng VietJava Tieng Viet
Java Tieng Viet
 
View sp trigger_udf
View sp trigger_udfView sp trigger_udf
View sp trigger_udf
 
Bài 6 Sử dụng hàm - Giáo trình FPT
Bài 6 Sử dụng hàm - Giáo trình FPTBài 6 Sử dụng hàm - Giáo trình FPT
Bài 6 Sử dụng hàm - Giáo trình FPT
 
[Cntt] all java
[Cntt] all java[Cntt] all java
[Cntt] all java
 
Qtu.vn sql - chuong 7
Qtu.vn  sql - chuong 7Qtu.vn  sql - chuong 7
Qtu.vn sql - chuong 7
 
slide_Chuong 3_ (1).ppt
slide_Chuong 3_ (1).pptslide_Chuong 3_ (1).ppt
slide_Chuong 3_ (1).ppt
 
Matlab intro
Matlab introMatlab intro
Matlab intro
 
Access vba 052009
Access vba 052009Access vba 052009
Access vba 052009
 
Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)
 
Tối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sqlTối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sql
 
Lựa chọn thuộc tính và Khai phá luật kết hợp trên WEKA
Lựa chọn thuộc tính và Khai phá luật kết hợp trên WEKALựa chọn thuộc tính và Khai phá luật kết hợp trên WEKA
Lựa chọn thuộc tính và Khai phá luật kết hợp trên WEKA
 
Ky thuat l.trinh_java
Ky thuat l.trinh_javaKy thuat l.trinh_java
Ky thuat l.trinh_java
 
Java8
Java8Java8
Java8
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
 
Com201 slide 3
Com201   slide 3Com201   slide 3
Com201 slide 3
 
ôn tập dbms
ôn tập dbmsôn tập dbms
ôn tập dbms
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcm
 
Cơ sở dữ liệu postgres
Cơ sở dữ liệu postgresCơ sở dữ liệu postgres
Cơ sở dữ liệu postgres
 
Devwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP LaravelDevwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP Laravel
 
Thuc hanh access
Thuc hanh accessThuc hanh access
Thuc hanh access
 

Cursor & Function trong SQL Server

  • 1. 1 Hệ Quản Trị CSDL Cursor - Function
  • 2. 2 + Cursor + Function + Tài liệu tham khảo + Demo Nội Dung
  • 4. 4 Cursor - Cursor là một kiểu dữ liệu đặc biệt (kiểu dữ liệu con trỏ), được dùng để duyệt qua từng dòng dữ liệu trả về từ câu truy vấn SELECT đó, giúp ta có thể có những xử lý khác nhau cho từng dòng dữ liệu cụ thể. Khái Niệm Đặc điểm: - Cho phép thao tác trên từng dòng dữ liệu trả về từ lệnh SELECT. - Do phải duyệt qua từng dòng dữ liệu nên đây là cách xử lý chậm nhất.
  • 5. 5 Cursor Cú Pháp DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ] [ FORWARD_ONLY | SCROLL ] [ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ] [ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ] [ TYPE_WARNING ] FOR select_statement [ FOR UPDATE [ OF column_name [ ,...n ] ] ]  Trong đó: + LOCALGLOBAL : chỉ định phạm vi hoạt động của biến Cursor. + FORWARD_ONLY: chỉ định việc đọc dữ liệu trong cursor chỉ theo chiều đi tới. + SCROLL: chỉ định việc đọc dữ liệu trong cursor được phép di chuyển tới lui.
  • 6. 6 Cursor Cú Pháp DECLARE cursor_name [INSENSITIVE] [SCROLL] CURSOR FOR Select_statement + trong đó Select_statement là câu lệnh lựa chọn đến các cột bảng và ta cần đọc.. + INSENSITIVE: Tạo 1 bảng copy tạm, thay thế bảng chính.. Lệnh khai báo cursor: Lệnh mở cursor: OPEN cursor_name
  • 7. 7 Cursor Cú Pháp @@FETCH_STATUS = 0 : lấy dữ liệu thành công. @@FETCH_STATUS < 0 : không lấy được dữ liệu. Kiểm tra kết quả lấy dữ liệu từ cursor (kiểm tra ngay sau lệnh FETCH NEXT): CLOSE cursor_name DEALLOCATE cursor_name Đóng cursor: Lệnh lấy dữ liệu từ trong cursor: FETCH [NEXT| PRIOR| FIRST| LAST| ] FROM cursor_name INTO @variable1, @variable2, …
  • 8. 8 Cursor các kiểu cursor DYNAMIC (cursor động): Khi có sữ thay đổi dữ liệu gốc (base table) thì các dữ liệu đó tự động cập nhật trong dữ liệu của cursor. KEY SET (gần như DYNAMIC): Tuy nhiên với mẩu tin vừa thêm mới hoặc những mẫu tin vừa hủy bỏ sẽ không hiển thị trong dữ liệu của cursor có kiểu là keyset. STATIC (cursor tĩnh): Khi có sự thay đổi bên dưới dữ liệu gốc (base table) thì các dữ liệu đó không được tự động cập nhật trong dữ liệu của curso. READ_ONLY: dùng chỉ định dữ liệu bên trong cursor là chỉ đọc nhằm hạn chế việc sửa đổi dữ liệu. Khi khai báo cursor với kiểu dữ liệu là tĩnh (STATIC) thì dữ liệu trong cursor xem như là chỉ đọc.
  • 10. 10 Function Giới Thiệu Trong SQLServer ngoài những hàm hệ thống có sẵn như các nhóm hàm: String Functions, Date and Time Functions, Mathematical Functions v.v.. ta cũng có thể xây dựng các hàm nhằm phục vụ nhu cầu tính toán, phát triển ứng dụng hoặc các mục đích xử dụng khác nhằm mang lại sự tiện lợi hơn cho chúng ta.
  • 11. 11 Function Khái Niệm - Cũng như Stored Procedure, Hàm (Function) bao gồm một tập nhiều câu lệnh SQL được kết hợp lại thành một nhóm và tạo thành 1 đối tượng cho phép sử dụng hàm như một thành phần của biểu thức trong các câu truy vấn hay cập nhật dữ liệu. - Hàm luôn trả về giá trị thông qua tên hàm.
  • 12. 12 Function - Phân loại: gồm 2 loại + Hàm hệ thống: String Functions, Date and Time Functions, Mathematical Functions v.v. + Hàm do người dùng tự định nghĩa: Hàm trả về kiểu bảng (Table valued Functions) và hàm trả về giá trị vô hướng (Scalar valued Functions). Khái Niệm
  • 13. 13 Cú Pháp CREATE FUNTION function_name ( [@parameter_name parameter_data_type] ) RETURNS [return Data-type] /*Returns có ‘s’ */ AS Begin return [scalar value/select command] End Tạo hàm: Xóa hàm: DROP FUNTION function_name Function
  • 14. 14 Hàm trả về giá trị vô hướng Hàm trả về một giá trị kiểu chuỗi, ngày tháng, kiểu số v.v.. do người dùng định nghĩa. Khi bạn đã định nghĩa hàm trả về giá trị, bạn có thể sử dụng nó trong các biểu thức tính toán của hàm khác, của Stored Procedure hay trong các câu truy vấn v.v.. Function
  • 15. 15 Hàm kiểu bảng Hàm kiểu bảng có kết quả trả về là một cấu trúc kiểu bảng do đó bạn có thể dùng để truy vấn (không có thêm, sửa, xóa dữ liệu) như một Table thông thường như lệnh SELECT, JOINT, ... Hàm kiểu bảng sẽ mềm dẻo và linh hoạt hơn vì nó có thể nhận các tham số đầu vào và có thể có nhiều lệnh thao tác dữ liệu bên trong hàm. Function