Hỏi đáp

Gioi Thieu Tong Quan Stored Procedure Là Gì ? Giới Thiệu Stored Procedure Trong Sql Server – viettingame

Stored procedure trong SQL Server được sử dụng để nhóm một hoặc nhiều câu lệnh Transact-SQL thành những đơn vị logic. Stored procedure được lưu trữ dưới dạng những đối tượng người tiêu dùng được đặt tên trong sever trung tâm dữ liệu SQL Server.

Đang xem: Stored procedure là gì

Lúc chúng ta gọi một stored procedure lần trước tiên, SQL Server sẽ tạo một kế hoạch thực thi và lưu trữ nó trong bộ đệm. Trong những lần thực thi tiếp theo của stored procedure, SQL Server sử dụng lại kế hoạch để stored procedure mà thậm chí thực thi rất nhanh chóng với hiệu suất đáng tin cậy.

Trong hướng dẫn này, các bạn sẽ tìm hiểu mọi thứ chúng ta cần phải biết về stored procedure trong SQL Server và chỉ cho chính mình cách xây dựng những stored procedure linh hoạt để tối ưu hóa truy vấn trung tâm dữ liệu.

Hướng dẫn cơ phiên bản về stored procedure trong SQL Server

Trong phần này, các bạn sẽ tìm hiểu cách vận hành những stored procedure trong SQL Server bao hàm tạo, thực thi, sửa đổi và xóa những stored procedure.

Tạo stored procedure giản dị trong SQL Server

Câu lệnh SELECT sau trả về danh sách những thành phầm từ bảng products trong trung tâm dữ liệu mẫu BikeStores:

SELECT product_name, list_priceFROM production.productsORDER BY product_name;Để tạo stored procedure bảo phủ truy vấn này, chúng ta sử dụng câu lệnh CREATE PROCEDURE như sau:

CREATE PROCEDURE uspProductListASBEGIN SELECT product_name, list_price FROM production.products ORDER BY product_name;END;Trong cú pháp này:

uspProductList là tên của stored procedure.Từ khóa AS ngăn cách tiêu đề và phần thân của stored procedure.Nếu stored procedure sở hữu một câu lệnh, những từ khóa BEGIN và END xung quanh câu lệnh là tùy tìm. Tuy nhiên, này là một thực hành tốt làm cho mã rõ rệt hơn.Lưu ý: ngoài từ khóa CREATE PROCEDURE, chúng ta mà thậm chí sử dụng từ khóa CREATE PROC để làm cho câu lệnh ngắn thêm một đoạn.

Để biên dịch stored procedure này, chúng ta thực thi nó như một câu lệnh SQL thông thường trong SQL Server Management Studio như trong hình sau:

*

Nếu mọi thứ đều đúng đắn, thì các bạn sẽ thấy thông tin sau:

Commands completed successfully.Nó tức là stored procedure đã được biên dịch và lưu trữ thành công vào trung tâm dữ liệu.

Chúng ta mà thậm chí tìm thấy stored procedure trong Object Explorer, trong Programmability > Stored Procedures như trong hình sau:

*

Đôi lúc, chúng ta cần nhấp vào nút Refresh để update thủ công những đối tượng người tiêu dùng trung tâm dữ liệu trong Object Explorer.

Thực thi stored procedure trong SQL Server

Để thực thi stored procedure, chúng ta sử dụng câu lệnh EXECUTE hoặc EXEC theo sau là tên của stored procedure như sau:

EXECUTE sp_name;Hoặc là

EXEC sp_name;Với sp_name là tên của stored procedure mà mình muốn thực thi.

Ví dụ, để thực thi stored procedure uspProductList, chúng ta sử dụng câu lệnh sau:

EXEC uspProductList;Stored procedure trả về đầu ra sau:

*

Sửa đổi stored procedure trong SQL Server

Để sửa đổi stored procedure trong SQL Server, chúng ta sử dụng câu lệnh ALTER PROCEDURE.

Trước nhất, stored procedure để xem nội dung của nó bằng phương pháp nhấp chuột phải vào tên stored procedure và tìm menu Modify:

*

Thứ hai, thay đổi nội dung của stored procedure mà trong ví dụ này là sắp xếp những thành phầm theo giá niêm yết thay vì như thế tên thành phầm:

ALTER PROCEDURE uspProductList AS BEGIN SELECT product_name, list_price FROM production.products ORDER BY list_price END;Thứ ba, nhấp vào nút Execute, SQL Server sửa đổi stored procedure và trả về thông tin sau:

Commands completed successfully.Giờ đây, nếu khách hàng thực thi lại stored procedure, các bạn sẽ thấy những thay đổi đã sở hữu hiệu lực hiện hành:

EXEC uspProductList;Sau trên đây cho thấy một phần thành quả đầu ra:

*

Xóa stored procedure trong SQL Server

Để xóa stored procedure trong SQL Server, chúng ta sử dụng câu lệnh DROP PROCEDURE hoặc DROP PROC như sau:

DROP PROCEDURE sp_name;Hoặc là

DROP PROC sp_name;Với sp_name là tên của stored procedure mà mình muốn xóa.

Ví dụ: để xóa stored procedure uspProductList, chúng ta thực thi câu lệnh sau:

DROP PROCEDURE uspProductList;Trong phần này, chúng ta đã học cách vận hành những stored procedure trong SQL Server bao hàm tạo, thực thi, sửa đổi và xóa những stored procedure.

Stored procedure sở hữu tham số trong SQL Server

Trong phần này, công ty chúng tôi sẽ mở bát ngát stored procedure cho phép truyền một hoặc nhiều tham số cho nó. Thành quả của stored procedure sẽ thay đổi dựa trên giá trị của những tham số.

Tạo stored procedure sở hữu một tham số trong SQL Server

Truy vấn sau trên đây trả về danh sách thành phầm từ bảng products trong trung tâm dữ liệu mẫu BikeStores:

SELECT product_name, list_priceFROM production.productsORDER BY list_price;Chúng ta mà thậm chí tạo stored procedure bảo phủ truy vấn này bằng phương pháp sử dụng câu lệnh CREATE PROCEDURE như sau:

CREATE PROCEDURE uspFindProductsASBEGIN SELECT product_name, list_price FROM production.products ORDER BY list_price;END;Tuy nhiên, lần này chúng ta mà thậm chí thêm một tham số vào stored procedure để tìm những thành phầm sở hữu giá niêm yết to hơn giá đầu vào:

ALTER PROCEDURE uspFindProducts(
min_list_price AS DECIMAL)ASBEGIN SELECT product_name, list_price FROM production.products WHERE list_price >=
min_list_price ORDER BY list_price;END;Trong ví dụ này:

Trước nhất, công ty chúng tôi đã thêm một tham số mang tên là
min_list_price. Tham số phải được xung quanh bởi cặp dấu ngoặc tròn.

Thực thi stored procedure sở hữu một tham số trong SQL Server

Để thực thi stored procedure uspFindProducts, chúng ta truyền một đối số cho nó như sau:

EXEC uspFindProducts 100;Sau trên đây cho thấy đầu ra:

*

Stored procedure trả về toàn bộ những thành phầm sở hữu giá niêm yết to hơn hoặc bằng 100.

Nếu như khách hàng thay đổi đối số thành 200, các bạn sẽ nhận được một tập trung quả khác:

EXEC uspFindProducts 200;Sau trên đây cho thấy đầu ra:

*

Tạo stored procedure sở hữu nhiều tham số trong SQL Server

Stored procedure mà thậm chí sở hữu một hoặc nhiều tham số. Những tham số được phân tách bằng dấu phẩy.

Câu lệnh sau sửa đổi stored procedure uspFindProducts bằng phương pháp thêm một tham số được mang tên
max_list_price AS DECIMAL)ASBEGIN SELECT product_name, list_price FROM production.products WHERE list_price >=
min_list_price AND list_price Lúc stored procedure được sửa đổi thành công, chúng ta mà thậm chí thực thi nó bằng phương pháp truyền hai đối số vào stored procedure, một cho
max_list_price như sau:

EXEC uspFindProducts 900, 1000;Sau trên đây cho thấy đầu ra:

*

Sử dụng tên của tham số lúc thực thi stored procedure trong SQL Server

Trong trường hợp những stored procedure sở hữu nhiều tham số, sẽ tốt hơn và rõ rệt hơn lúc thực thi cácstored procedure bằng phương pháp sử dụng tên của những tham số.

Ví dụ, câu lệnh sau thực thi stored procedure uspFindProducts bằng phương pháp sử dụng tên của những tham số
max_list_price = 1000;Thành quả của stored procedure là như nhau tuy nhiên câu lệnh sẽ rõ rệt hơn.

Tham số kiểu chuỗi ký tự cho stored procedure trong SQL Server

Câu lệnh sau trên đây thêm tham số
name AS VARCHAR(max))ASBEGIN SELECT product_name, list_price FROM production.products WHERE list_price >=
min_list_price AND list_price Trong mệnh đề WHERE của câu lệnh SELECT, công ty chúng tôi đã thêm ĐK sau:

product_name LIKE “%” +
name + “%”Bằng phương pháp này, stored procedure trả về những thành phầm sở hữu giá niêm yết nằm trong phạm vi giá niêm yết tối thiểu và tối đa và tên thành phầm cũng chứa một quãng văn phiên bản mà chúng ta truyền vào.

Lúc stored procedure được thay đổi thành công, chúng ta mà thậm chí thực thi nó như sau:

EXEC uspFindProducts
name = “Trek”;Trong câu lệnh này, công ty chúng tôi đã sử dụng stored procedure uspFindProducts để tìm thành phầm sở hữu giá niêm yết nằm trong tầm 900 và 1.000 và tên của chúng sở hữu chứa từ Trek.

Hình ảnh sau trên đây cho thấy đầu ra:

*

Tạo những tham số tùy tìm cho stored procedure trong SQL Server

Lúc chúng ta thực thì stored procedure uspFindProducts, chúng ta phải truyền cả ba đối số tương ứng với ba tham số của stored procedure.

SQL Server cho phép chúng ta không sử dụng những giá trị mặc định cho những tham số để lúc chúng ta thực thi stored procedure, chúng ta mà thậm chí bỏ qua những tham số sở hữu giá trị mặc định.

Xem stored procedure sau trên đây:

ALTER PROCEDURE uspFindProducts(
name AS VARCHAR(max))ASBEGIN SELECT product_name, list_price FROM production.products WHERE list_price >=
min_list_price AND list_price Trong stored procedure này, công ty chúng tôi đã gán 0 làm giá trị mặc định cho tham số
max_list_price.

Lúc stored procedure được biên dịch, chúng ta mà thậm chí thực thi nó mà ko cần truyền những đối số cho tham số
name = “Trek”;Trên đây là thành quả:

*

Trong trường hợp này, stored procedure đã sử dụng giá trị 0 cho tham số
max_list_price được gọi là tham số tùy tìm (optional parameters).

Tất nhiên, chúng ta cũng mà thậm chí truyền những đối số cho những tham số tùy tìm. Ví dụ: câu lệnh sau trả về toàn bộ những thành phầm sở hữu giá niêm yết to hơn hoặc bằng 6.000 và tên chứa từ Trek:

EXEC uspFindProducts
name = “Trek”;

*

Sử dụng NULL làm giá trị mặc định cho tham số của stored procedure trong SQL Server

Trong stored procedure uspFindProducts, công ty chúng tôi đã sử dụng 999.999 làm giá niêm yết tối đa mặc định. Điều này ko ổn vì như thế trong tương lai chúng ta mà thậm chí sở hữu những thành phầm sở hữu giá niêm yết to hơn thế.

Một kỹ thuật điển hình nổi bật để tránh điều này là sử dụng NULL làm giá trị mặc định cho những tham số:

ALTER PROCEDURE uspFindProducts(
name AS VARCHAR(max))ASBEGIN SELECT product_name, list_price FROM production.products WHERE list_price >=
max_list_price IS NULL OR list_price Trong mệnh đề WHERE, công ty chúng tôi đã thay đổi ĐK để xử lý giá trị NULL cho tham số
max_list_price IS NULL OR list_price Tips: trên đây là một biểu thức ĐK rất hay mà các bạn sẽ phát hiện rất nhiều trong số dự án công trình thực tiễn lúc đi làm việc.Câu lệnh sau trên đây thực thi stored procedure uspFindProducts để tìm thành phầm sở hữu giá niêm yết to hơn hoặc bằng 500 và tên sở hữu chứa từ Haro.

EXEC uspFindProducts
name = “Haro”;

*

Trong phần này, chúng ta đã học cách tạo và thực thi stored procedure với một hoặc nhiều tham số. Chúng ta cũng từng học cách tạo những tham số tùy tìm và sử dụng NULL làm giá trị mặc định cho những tham số.

Biến trong SQL Server

Trong phần này, các bạn sẽ tìm hiểu về biến trong SQL Server bao hàm khai báo biến, gán giá trị cho biến và gán những trường giá trị của phiên bản ghi cho biến.

Biến là gì?

Biến là một đối tượng người tiêu dùng chứa một giá trị duy nhất của một kiểu dữ liệu rõ ràng, ví dụ: integer, decimal, date hoặc chuỗi ký tự, v.v.

Chúng ta thường sử dụng biến trong số trường hợp sau:

Là một bộ đếm vòng lặp để đếm số lần vòng lặp được tiến hành.Để giữ một giá trị được kiểm tra bằng câu lệnh vòng lặp, ví dụ như lệnh WHILE.Để lưu trữ giá trị được trả về bởi một stored procedure hoặc một hàm.

Khai báo biến

Để khai báo một biến, chúng ta sử dụng câu lệnh DECLARE. Ví dụ: câu lệnh sau khai báo một biến mang tên
model_year SMALLINT;Câu lệnh DECLARE tạo một biến bằng phương pháp gán cho nó một tên và kiểu dữ liệu. Tên biến phải chính thức bằng ký tự
model_year là SMALLINT.

Xem thêm: # Top 101+ trò chơi Offline Hay Cho Pc Cấu Hình Nhẹ, Trung Bình, Cao

Theo mặc định, lúc một biến được khai báo, giá trị của nó được đặt thành NULL.

Giữa tên biến và loại dữ liệu, chúng ta mà thậm chí sử dụng AStừ khóa tùy tìm như sau:

DECLARE
product_name VARCHAR(MAX);

Gán giá trị cho biến

Để gán giá trị cho một biến, chúng ta sử dụng câu lệnh SET. Ví dụ: câu lệnh sau gán 2018 cho biến
model_year trong mệnh đề WHERE để tìm những thành phầm theo năm của model:

SELECT product_name, model_year, list_price FROM production.productsWHERE model_year =
model_yearORDER BY product_name;Giờ đây, chúng ta mà thậm chí đặt mọi thứ lại với nhau và thực thi khối mã sau để sở hữu danh sách những thành phầm sở hữu năm model là 2018:

DECLARE
model_year = 2018;SELECT product_name, model_year, list_price FROM production.productsWHERE model_year =
model_yearORDER BY product_name;Lưu ý: để thực thi mã, chúng ta nhấn vào nút Execute như trong hình sau, hoặc nhấn phím F5:

*

Hình ảnh sau trên đây cho thấy thành quả đầu ra:

*

Lưu trữ thành quả truy vấn trong biến

Quá trình sau trên đây mô tả cách lưu trữ thành quả truy vấn trong một biến:

Trước nhất, khai báo một biến mang tên
product_count AS VARCHAR(MAX));Thành quả như sau:

The number of products is 204Để ẩn số lượng phiên bản ghi bị tác động, chúng ta sử dụng câu lệnh sau:

SET NOCOUNT ON;

Select một phiên bản ghi vào biến

Quá trình sau minh họa cách khai báo hai biến, gán một phiên bản ghi cho chúng và xuất nội dung của những biến:

Trước nhất, khai báo những biến để lưu trữ tên thành phầm và giá niêm yết:

DECLARE
list_price = list_priceFROM production.productsWHERE product_id = 100;Thứ ba, xuất nội dung của những biến:

SELECT
list_price AS list_price;Trên đây là thành quả:

*

Cùng dồn những giá trị vào trong 1 biến

Stored procedure sau trên đây sở hữu một tham số và trả về danh sách những thành phầm dưới dạng chuỗi:

CREATE PROC uspGetProductList(
product_list với kiểu varchar và gán giá trị của nó thành trống.Thứ ba, công ty chúng tôi đã sử dụng câu lệnh PRINT để in ra danh sách tên thành phầm.

Câu lệnh sau trên đây thực thi stored procedure uspGetProductList:

EXEC uspGetProductList 2018Hình ảnh sau trên đây cho thấy một phần thành quả đầu ra:

*

Trong phần này, chúng ta đã tìm hiểu về biến trong SQL Server bao hàm khai báo biến, gán giá trị cho biến và gán những trường của phiên bản ghi cho những biến.

Tham số OUTPUT của stored procedure trong SQL Server

Trong phần này, các bạn sẽ tìm hiểu cách sử dụng những tham số OUTPUT (tham số đầu ra) trong SQL Server để trả dữ liệu trở lại chương trình gọi.

Tạo tham số OUTPUT cho stored procedure

Để tạo một tham số OUTPUT cho stored procedure, chúng ta sử dụng cú pháp sau:

parameter_name data_type OUTPUTMột stored procedure mà thậm chí sở hữu nhiều tham số OUTPUT. Ngoài ra, những tham số OUTPUT mà thậm chí ở ngẫu nhiên kiểu dữ liệu hợp lệ nào như: số nguyên, ngày tháng và chuỗi.

Ví dụ: stored procedure sau trên đây tìm kiếm những thành phầm theo năm model và trả về số lượng thành phầm trải qua tham số OUTPUT là
product_count INT OUTPUT) ASBEGIN SELECT product_name, list_price FROM production.products WHERE model_year =
product_count INT OUTPUTThứ hai, sau câu lệnh SELECT, chúng ta đã gán số lượng phiên bản ghi được trả về bởi truy vấn (
ROWCOUNT là một biến khối hệ thống trả về số lượng phiên bản ghi được đọc bởi câu lệnh phía trước.

Lúc chúng ta tiến hành câu lệnh CREATE PROCEDURE trên, stored procedure uspFindProductByModel sẽ được biên dịch và lưu trong danh mục trung tâm dữ liệu.

Nếu mọi thứ đều ổn, SQL Server sẽ tìm thấy thông tin sau:

Commands completed successfully.

Thực thi stored procedure với những tham số OUTPUT

Để thực thi stored procedure với những tham số OUTPUT, chúng ta tuân theo công việc sau:

Trước nhất, khai báo những biến để lưu trữ những giá trị được trả về bởi những tham số OUTPUT.Thứ hai, sử dụng những biến này lúc gọi thực thi stored procedure.

Ví dụ, câu lệnh sau tiến hành stored procedure uspFindProductByModel:

DECLARE
count AS “Number of products found”;Hình ảnh sau trên đây cho thấy đầu ra:

*

Trong ví dụ này:

Trước nhất, công ty chúng tôi khai báo biến
count INT;Sau đó, thực thi stored procedure uspFindProductByModel và truyền những tham số:

EXEC uspFindProductByModel
product_count.

Chúng ta cũng mà thậm chí thực thi stored procedure uspFindProductByModel ngắn gọn như sau:

EXEC uspFindProductByModel 2018,
count AS “Number of products found”;Trong phần này, chúng ta đã học cách sử dụng tham số OUTPUT để truyền dữ liệu từ stored procedure trở lại chương trình gọi.

Câu lệnh BEGIN … END trong SQL Server

Trong phần này, các bạn sẽ tìm hiểu cách sử dụng câu lệnh BEGIN…END trong SQL Server để bọc một tập hợp những câu lệnh Transact-SQL thành một khối câu lệnh.

Tổng quan về câu lệnh BEGIN…END trong SQL Server

Câulệnh BEGIN…END trong SQL Server được sử dụng để định nghĩa một khối câu lệnh. Một khối câu lệnh bao hàm một tập hợp những câu lệnh SQL thực thi cùng nhau.

Nói cách khác, nếu xem mỗi câu lệnh là một câu văn thì câu lệnh BEGIN…END cho phép chúng ta định nghĩa một quãng văn.

Sau trên đây minh họa cú pháp của câu lệnh BEGIN…END:

BEGIN statement_blockENDTrong cú pháp này, chúng ta đặt một tập hợp những câu lệnh SQL giữa những từ khóa BEGIN và END, ví dụ:

BEGIN SELECT product_id, product_name FROM production.products WHERE list_price > 100000; IF
ROWCOUNT = 0 PRINT “No product with price greater than 100000 found”;ENDĐầu ra:

*

Để xem những thông tin được tạo bởi câu lệnh PRINT, trong SQL Server Management Studio, chúng ta cần nhấp vào tab Messages. Theo mặc định, tab Results được bật và tab Messages bị ẩn.

Trong ví dụ này:

Trước nhất, công ty chúng tôi sở hữu một khối lệnh chính thức bằng từ khóa BEGIN và kết thúc bằng từ khóa END.Lưu ý:
ROWCOUNT là một biến khối hệ thống trả về số lượng phiên bản ghi bị tác động bởi câu lệnh phía trước.

Câu lệnh BEGIN… END giới hạn một khối logic của những câu lệnh SQL. Shop chúng tôi thường sử dụng câu lệnh BEGIN…END ở đầu và cuối của một stored procedure và function.

Câu lệnh BEGIN…END cũng khá được sử dụng cho những câu lệnh IF ELSE, câu lệnh WHILE, v.v., để bảo phủ nhiều câu lệnh.

Câu lệnh BEGIN … END lồng nhau trong SQL Server

Khối câu lệnh BEGIN…END mà thậm chí lồng nhau trong SQL Server. Nó giản dị tức là chúng ta mà thậm chí đặt một câu lệnh BEGIN…END trong một câu lệnhBEGIN… END khác .

Hãy xem xét ví dụ sau:

BEGIN DECLARE
name END ELSE BEGIN PRINT “No product found”; END;ENDTrong ví dụ này, công ty chúng tôi đã sử dụng câu lệnh BEGIN…END để bọc toàn bộ khối câu lệnh. Bên trong khối này, công ty chúng tôi cũng sử dụng BEGIN…END cho những câu lệnh IF…ELSE.

Trong phần này, chúng ta đã tìm hiểu về câu lệnh BEGIN…END trong SQL Server để bọc những câu lệnh Transact-SQL thành những khối lệnh.

CURSOR trong SQL Server

Trong phần này, các bạn sẽ tìm hiểu cách sử dụng CURSOR trong SQL Server để xử lý một tập trung quả, mỗi lần một phiên bản ghi.

SQL Server sinh hoạt dựa trên tập hợp, ví dụ, câu lệnh SELECT trả về một tập hợp những phiên bản ghi được gọi là tập trung quả. Tuy nhiên, đôi lúc, chúng ta mà thậm chí muốn xử lý một tập dữ liệu theo từng phiên bản ghi. Trên đây là lúc CURSOR được sử dụng.

CURSOR là gì?

CURSOR (con trỏ) là một đối tượng người tiêu dùng cho phép duyệt qua những phiên bản ghi của tập trung quả. Nó cho phép chúng ta xử lý từng phiên bản ghi riêng lẻ được trả về bởi một truy vấn.

Vòng đời của CURSOR trong SQL Server

Trên đây là công việc để tạo và sử dụng một CURSOR:

*

Trước nhất, khai báo một CURSOR.

DECLARE cursor_name CURSOR FOR select_statement;Để khai báo một CURSOR, chúng ta không sử dụng tên của nó sau từ khóa DECLARE với kiểu dữ liệu là CURSOR và hỗ trợ một câu lệnh SELECT định nghĩa tập trung quả cho CURSOR.

Tiếp theo, mở CURSOR để thực thi câu lệnh SELECT:

OPEN cursor_name;Sau đó, duyệt từng phiên bản ghi trong CURSOR và đưa vào trong 1 hoặc nhiều biến:

FETCH NEXT FROM cursor INTO variable_list;SQL Server hỗ trợ biến khối hệ thống
FETCHSTATUS trả về 0, tức là câu lệnh FETCH đã thành công. Chúng ta mà thậm chí sử dụng câu lệnh WHILE để duyệt toàn bộ những phiên bản ghi từ CURSOR như trong đoạn mã sau:

WHILE
FETCH_STATUS = 0 BEGIN FETCH NEXT FROM cursor_name; END;Sau lúc đã duyệt qua toàn bộ phiên bản ghi trong CURSOR, chúng ta sẽ đóng CURSOR bằng lệnh sau:

CLOSE cursor_name;Ở đầu cuối, phân chia CURSOR để giải phóng nó:

DEALLOCATE cursor_name;

Ví dụ CURSOR trong SQL Server

Shop chúng tôi sẽ sử dụng bảng products trong trung tâm dữ liệu mẫu BikeStores để minh họa cho CURSOR trong SQL Server:

*

Trước nhất, khai báo hai biến để lưu trữ tên thành phầm và giá niêm yết và một CURSOR để lưu trữ thành quả của truy vấn lấy tên thành phầm và giá niêm yết từ bảng production.products:

DECLARE
list_price DECIMAL;DECLARE cursor_product CURSORFOR SELECT product_name, list_price FROM production.products;Tiếp theo, mở CURSOR:

OPEN cursor_product;Sau đó, duyệt từng phiên bản ghi từ CURSOR và in ra tên thành phầm và giá niêm yết:

FETCH NEXT FROM cursor_product INTO
list_price; END;Sau đó, đóng CURSOR:

CLOSE cursor_product;Ở đầu cuối, phân chia CURSOR để giải phóng nó.

DEALLOCATE cursor_product;Trên đây là đoạn mã hoàn hảo:

DECLARE
list_price DECIMAL;DECLARE cursor_product CURSORFOR SELECT product_name, list_price FROM production.products;OPEN cursor_product;FETCH NEXT FROM cursor_product INTO
list_price; END;CLOSE cursor_product;DEALLOCATE cursor_product;Trên đây là đầu ra một phần:

*

Trong thực tiễn, các bạn sẽ hiếm lúc sử dụng CURSOR để xử lý tập trung quả vì như thế nó rất chậm.

Xem thêm: trò chơi Đua Xe Trực tuyến Mobile Đua Xe Hay Ko Cưỡng Nổi Ở Thời Điểm Hiện Tại

Trong phần này, chúng ta đã học cách sử dụng CURSOR trong SQL Server để xử lý một tập trung quả, mỗi lần một phiên bản ghi.

Về Viettingame.com

Viettingame.com - Chuyên trang web tổng hợp những thông tin hữu ích trên internet như thông tin về game, tin tổng hợp
Xem tất cả các bài viết của Viettingame.com →

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *