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

Bạn đang xem: Cách dùng store procedure trong sql

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

Trong giải đáp này, các bạn sẽ tìm hiểu đầy đủ thứ bạn nên biết về stored procedure vào SQL Server và chỉ cho chính mình cách xây dựng các stored procedure linh hoạt để buổi tối ưu hóa truy vấn cơ sở dữ liệu.

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

Trong phần này, bạn sẽ tìm gọi cách thống trị các stored procedure vào SQL Server bao gồm tạo, thực thi, sửa đổi và xóa những stored procedure.

Tạo stored procedure dễ dàng trong SQL Server

Câu lệnh SELECT sau trả về list các sản phẩm từ bảng products vào cơ sở dữ liệu mẫu BikeStores:

SELECT product_name, list_priceFROM production.productsORDER BY product_name;Để tạo nên stored procedure bảo phủ truy vấn này, bạn 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 gọi của stored procedure.Từ khóa AS chia cách tiêu đề và phần thân của stored procedure.Nếu stored procedure tất cả một câu lệnh, những từ khóa BEGIN với END bao quanh câu lệnh là tùy chọn. Tuy nhiên, đó là một trong những thực hành giỏi làm mang đến mã rõ ràng hơn.Lưu ý: quanh đó từ khóa CREATE PROCEDURE, bạn có thể sử dụng từ khóa CREATE PROC để làm cho câu lệnh ngắn hơn.

Để biên dịch stored procedure này, bạn xúc tiến nó như một câu lệnh SQL bình thường trong SQL hệ thống Management Studio như trong hình sau:

*

Nếu đông đảo thứ đều chính xác, thì các bạn sẽ thấy thông báo sau:

Commands completed successfully.Nó tức là stored procedure đã có biên dịch với lưu trữ thành công xuất sắc vào cơ sở dữ liệu.

Bạn có thể tìm thấy stored procedure vào Object Explorer, vào Programmability > Stored Procedures như trong hình sau:

*

Đôi khi, bạn phải nhấp vào nút Refresh để cập nhật bằng tay thủ công các đối tượng cơ sở dữ liệu trong Object Explorer.

Thực thi stored procedure trong SQL Server

Để xúc tiến stored procedure, bạn sử dụng câu lệnh EXECUTE hoặc EXEC theo sau là tên gọi 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à bạn có nhu cầu thực thi.

Ví dụ, để tiến hành stored procedure uspProductList, bạn áp dụng câu lệnh sau:

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

*

Sửa thay đổi stored procedure vào SQL Server

Để sửa đổi stored procedure trong SQL Server, bạn thực hiện câu lệnh ALTER PROCEDURE.

Đầu tiên, stored procedure để xem ngôn từ của nó bằng cách bấm chuột phải vào thương hiệu stored procedure và lựa chọn menu Modify:

*

Thứ hai, đổi khác nội dung của stored procedure nhưng trong lấy ví dụ như này là sắp xếp các thành phầm theo giá niêm yết thay vì tên sản 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 vps sửa đổi stored procedure cùng trả về thông tin sau:

Commands completed successfully.Bây giờ, nếu như bạn thực thi lại stored procedure, bạn sẽ thấy các biến đổi đã gồm hiệu lực:

EXEC uspProductList;Sau đây mang đến thấy 1 phần kết quả đầu ra:

*

Xóa stored procedure vào SQL Server

Để xóa stored procedure vào SQL Server, bạn 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 gọi của stored procedure mà bạn muốn xóa.

Ví dụ: nhằm xóa stored procedure uspProductList, bạn thực hiện câu lệnh sau:

DROP PROCEDURE uspProductList;Trong phần này, các bạn đã học cách cai quản các stored procedure trong SQL Server bao hàm tạo, thực thi, sửa đổi cùng xóa các stored procedure.

Stored procedure tất cả tham số trong SQL Server

Trong phần này, shop chúng tôi sẽ không ngừng mở rộng stored procedure cho phép truyền một hoặc các tham số mang lại nó. Công dụng của stored procedure sẽ biến đổi dựa trên giá chỉ trị của các tham số.

Tạo stored procedure tất cả một thông số trong SQL Server

Truy vấn sau đây trả về danh sách sản phẩm từ bảng products vào cơ sở tài liệu mẫu BikeStores:

SELECT product_name, list_priceFROM production.productsORDER BY list_price;Bạn rất có thể tạo stored procedure bảo phủ truy vấn này bằng cách 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 bạn có thể thêm một thông số vào stored procedure để tìm các sản phẩm có giá chỉ 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 lấy một ví dụ này:

Đầu tiên, cửa hàng chúng tôi đã thêm 1 tham số có tên là
min_list_price. Tham số yêu cầu được bao quanh bởi cặp vết ngoặc tròn.

Thực thi stored procedure gồm một thông số trong SQL Server

Để triển khai stored procedure uspFindProducts, bạn truyền một đối số cho nó như sau:

EXEC uspFindProducts 100;Sau đây cho biết thêm đầu ra:

*

Stored procedure trả về toàn bộ các sản phẩm có giá chỉ niêm yết lớn hơn hoặc bởi 100.

Nếu bạn chuyển đổi đối số thành 200, bạn sẽ nhận được một tập tác dụng khác:

EXEC uspFindProducts 200;Sau đây cho biết thêm đầu ra:

*

Tạo stored procedure có không ít tham số trong SQL Server

Stored procedure hoàn toàn có thể có một hoặc nhiều tham số. Những tham số được phân tách bóc bằng vệt phẩy.

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

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

*

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

Trong trường hợp những stored procedure có khá nhiều tham số, sẽ giỏi hơn và ví dụ hơn khi thực hiện cácstored procedure bằng phương pháp sử dụng tên của các tham số.

Ví dụ, câu lệnh sau thực thi stored procedure uspFindProducts bằng cách sử dụng tên của những tham số
max_list_price = 1000;Kết quả của stored procedure là tương đồng tuy nhiên câu lệnh sẽ cụ thể hơn.

Tham số thứ hạng chuỗi ký tự cho stored procedure trong SQL Server

Câu lệnh sau đâ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, chúng tôi đã thêm đk sau:

product_name like "%" +
name + "%"Bằng cách này, stored procedure trả về các sản phẩm có giá niêm yết nằm vào phạm vi niêm yết tối thiểu và buổi tối đa cùng tên sản phẩm cũng đựng một đoạn văn bản mà chúng ta truyền vào.

Khi stored procedure được chuyển đổi thành công, bạn có thể thực thi nó như sau:

EXEC uspFindProducts
name = "Trek";Trong câu lệnh này, chúng tôi đã thực hiện stored procedure uspFindProducts nhằm tìm sản phẩm có giá niêm yết nằm trong tầm 900 cùng 1.000 cùng tên của chúng bao gồm chứa tự Trek.

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

*

Tạo những tham số tùy chọn mang lại stored procedure vào SQL Server

Khi bạn thực thì stored procedure uspFindProducts, bạn phải truyền cả cha đối số khớp ứng với ba tham số của stored procedure.

SQL Server có thể chấp nhận được bạn chỉ định các giá trị mang định cho những tham số để khi bạn thực thi stored procedure, bạn cũng có thể bỏ qua các tham số có mức giá trị mang định.

Xem stored procedure sau đây:

ALTER PROCEDURE uspFindProducts(
name AS VARCHAR(max))ASBEGIN SELECT product_name, list_price FROM production.products WHERE list_price >=
min_list_price & list_price trong stored procedure này, chúng tôi đã gán 0 có tác dụng giá trị mang định mang lại tham số
max_list_price.

Khi stored procedure được biên dịch, bạn cũng có thể thực thi nó nhưng không nên truyền các đối số đến tham số
name = "Trek";Đây là kết quả:

*

Trong trường hợp này, stored procedure đã thực hiện giá trị 0 đến tham số
max_list_price được gọi là thông số tùy lựa chọn (optional parameters).

Tất nhiên, bạn có thể truyền những đối số cho những tham số tùy chọn. Ví dụ: câu lệnh sau trả về tất cả các thành phầm có giá chỉ niêm yết lớn hơn hoặc bởi 6.000 với tên cất từ Trek:

EXEC uspFindProducts
name = "Trek";

*

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

Trong stored procedure uspFindProducts, cửa hàng chúng tôi đã áp dụng 999.999 làm niêm yết tối đa mặc định. Điều này không ổn bởi vì trong tương lai bạn cũng có thể có những sản phẩm có giá niêm yết to hơn thế.

Một kỹ thuật điển hình để tránh vấn đề đó là áp dụng NULL có tác dụng giá trị mặc định cho các 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 đã chuyển đổi điều kiện để cách xử trí giá trị NULL cho tham số
max_list_price IS NULL OR list_price Tips: đó là một biểu thức điều kiện rất lôi cuốn mà các bạn sẽ bắt gặp rất nhiều trong số dự án thực tiễn khi đi làm.Câu lệnh tiếp sau đây thực thi stored procedure uspFindProducts nhằm tìm sản phẩm có giá bán niêm yết to hơn hoặc bởi 500 với tên có chứa tự Haro.

EXEC uspFindProducts
name = "Haro";

*
Trong phần này, các bạn đã học biện pháp tạo và triển khai stored procedure với cùng một hoặc nhiều tham số. Bạn cũng đã học phương pháp tạo các tham số tùy chọn và áp dụng NULL có tác dụng giá trị khoác định cho các tham số.

Biến trong SQL Server

Trong phần này, bạn sẽ tìm phát âm về đổi thay trong SQL Server bao gồm khai báo biến, gán quý giá cho biến chuyển và gán những trường giá trị của bản ghi cho biến.

Biến là gì?

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

Chúng ta thường áp dụng biến trong các trường hòa hợp sau:

Là một cỗ đếm vòng lặp để đếm tần số vòng lặp được thực hiện.Để giữ lại một quý giá được kiểm tra bởi câu lệnh vòng lặp, chẳng hạn như lệnh WHILE.Để tàng 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, bạn áp 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 sinh sản một biến bằng cách gán cho nó một tên với kiểu dữ liệu. Tên biến chuyển phải bắt đầu bằng cam kết tự
model_year là SMALLINT.

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

Xem thêm: Có Ai Tưởng Tượng Được Tình Yêu Của Bố Dành Cho Con Gái Yêu Của Bố

Giữa tên thay đổi và nhiều loại dữ liệu, bạn có thể sử dụng AStừ khóa tùy lựa chọn như sau:

DECLARE
product_name VARCHAR(MAX);

Gán giá trị mang lại biến

Để gán giá bán trị cho 1 biến, bạn sử dụng câu lệnh SET. Ví dụ: câu lệnh sau gán 2018 cho biến hóa
model_year trong mệnh đề WHERE nhằm tìm các sản 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;Bây giờ, bạn có thể đặt mọi thứ lại với nhau và thực hiện khối mã sau để có danh sách các thành phầm có 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ã, bạn click chuột nút Execute như trong hình sau, hoặc nhận phím F5:

*
Hình ảnh sau đây cho biết kết quả đầu ra:

*

Lưu trữ tác dụng truy vấn trong biến

Các bước dưới đây mô tả bí quyết lưu trữ tác dụng truy vấn trong một biến:

Đầu tiên, khai báo một biến có tên
product_count AS VARCHAR(MAX));Kết quả như sau:

The number of products is 204Để ẩn số lượng phiên bản ghi bị hình ảnh hưởng, bạn sử dụng câu lệnh sau:

SET NOCOUNT ON;

Select một bạn dạng ghi vào biến

Các bước sau minh họa cách khai báo nhì 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:

Đầu tiên, khai báo các biến để lưu trữ tên sản phẩm và giá chỉ niêm yết:

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

SELECT
list_price AS list_price;Đây là kết quả:

*

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

Stored procedure dưới đây có một tham số với trả về danh sách các sản phẩm dưới dạng chuỗi:

CREATE PROC uspGetProductList(
product_list với đẳng cấp varchar và gán giá bán 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 nhằm in ra list tên sản phẩm.

Câu lệnh tiếp sau đây thực thi stored procedure uspGetProductList:

EXEC uspGetProductList 2018Hình hình ảnh sau đây đến thấy một trong những phần kết trái đầu ra:

*

Trong phần này, bạn đã khám phá về trở nên trong SQL Server bao gồm khai báo biến, gán quý hiếm cho đổi mới và gán những trường của bản ghi cho các biến.

Tham số output của stored procedure vào SQL Server

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

Tạo tham số OUTPUT cho stored procedure

Để chế tạo ra một thông số OUTPUT mang đến stored procedure, bạn thực hiện cú pháp sau:

parameter_name data_type OUTPUTMột stored procedure bao gồm thể có tương đối nhiều tham số OUTPUT. Ko kể ra, những tham số OUTPUT rất có thể ở ngẫu nhiên kiểu dữ liệu hợp lệ như thế nào như: số nguyên, ngày tháng và chuỗi.

Ví dụ: stored procedure dưới đây tìm kiếm các sản phẩm theo năm model và trả về số số lượng sản phẩm thông 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ề vày truy vấn (
ROWCOUNT là một trong những biến khối hệ thống trả về số lượng bạn dạng ghi được đọc vì câu lệnh phía trước.

Khi bạn triển khai câu lệnh CREATE PROCEDURE trên, stored procedure uspFindProductByModel sẽ tiến hành biên dịch và lưu trong hạng mục cơ sở dữ liệu.

Nếu phần đa thứ hầu như ổn, SQL hệ thống sẽ gửi ra thông báo sau:

Commands completed successfully.

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

Để tiến hành stored procedure với các tham số OUTPUT, chúng ta làm theo quá trình sau:

Đầu tiên, khai báo những biến nhằm lưu trữ những giá trị được trả về bởi các tham số OUTPUT.Thứ hai, sử dụng các biến này khi gọi triển khai stored procedure.

Ví dụ, câu lệnh sau thực hiện stored procedure uspFindProductByModel:

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

*

Trong ví dụ như này:

Đầu tiên, công ty chúng tôi khai báo phát triển thành
count INT;Sau đó, xúc tiến stored procedure uspFindProductByModel và truyền những tham số:

EXEC uspFindProductByModel
product_count.

Bạn cũng rất có thể thực thi stored procedure uspFindProductByModel ngăn nắp như sau:

EXEC uspFindProductByModel 2018,
count AS "Number of products found";Trong phần này, các bạn đã học tập cách sử dụng tham số đầu ra để 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 đọc cách thực hiện câu lệnh BEGIN...END trong SQL hệ thống để quấn một tập hợp các câu lệnh Transact-SQL thành một khối câu lệnh.

Tổng quan lại về câu lệnh BEGIN...END vào SQL Server

Câulệnh BEGIN...END trong SQL hệ thống được thực hiện để khái niệm một khối câu lệnh. Một khối câu lệnh gồm 1 tập hợp các câu lệnh SQL xúc tiến cùng nhau.

Nói giải pháp khác, ví như xem từng câu lệnh là 1 câu văn thì câu lệnh BEGIN...END có thể chấp nhận được bạn có mang một đoạn 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, bạn đặt một tập hợp các 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 hàng hóa with price greater than 100000 found";ENDĐầu ra:

*

Để coi các thông tin được tạo bởi vì câu lệnh PRINT, vào SQL vps Management Studio, bạn phải nhấp vào tab Messages. Theo mặc định, tab Results được bật và tab Messages bị ẩn.

Trong lấy một ví dụ này:

Đầu tiên, công ty chúng tôi có một khối lệnh bắt đầu 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 bạn dạng ghi bị ảnh hưở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 các câu lệnh SQL. Shop chúng tôi thường áp dụng câu lệnh BEGIN...END sinh hoạt đầu cùng cuối của một stored procedure với 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 ... Kết thúc lồng nhau vào SQL Server

Khối câu lệnh BEGIN...END rất có thể lồng nhau trong SQL Server. Nó dễ dàng và đơn giản có nghĩa là chúng ta có thể đặt một câu lệnh BEGIN...END vào một câu lệnhBEGIN... End khác .

Hãy chăm chú ví dụ sau:

BEGIN DECLARE
name kết thúc ELSE BEGIN PRINT "No sản phẩm found"; END;ENDTrong ví dụ như này, chúng tôi đã áp dụng câu lệnh BEGIN...END để bọc toàn cục khối câu lệnh. Phía bên trong khối này, cửa hàng chúng tôi cũng thực hiện BEGIN...END cho các 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 vào SQL Server để bọc các câu lệnh Transact-SQL thành các khối lệnh.

CURSOR vào SQL Server

Trong phần này, các bạn sẽ tìm đọc cách áp dụng CURSOR vào SQL vps để cách xử lý một tập trung quả, mỗi lần một bản ghi.

SQL Server hoạt động dựa bên trên tập hợp, ví dụ, câu lệnh SELECT trả về một tập hợp các phiên bản ghi được hotline là tập kết quả. Mặc dù nhiên, đôi khi, chúng ta cũng có thể muốn xử lý một tập dữ liệu theo từng phiên bản ghi. Đây là cơ hội CURSOR được sử dụng.

CURSOR là gì?

CURSOR (con trỏ) là 1 trong những đối tượng cho phép duyệt qua các bạn dạng ghi của tập kết quả. Nó được cho phép bạn giải pháp xử lý từng phiên bản ghi hiếm hoi được trả về vì một truy tìm vấn.

Vòng đời của CURSOR vào SQL Server

Đây là quá trình để tạo ra và thực hiện một CURSOR:

*

Đầu tiên, khai báo một CURSOR.

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

Tiếp theo, mở CURSOR để triển khai câu lệnh SELECT:

OPEN cursor_name;Sau đó, chăm bẵm từng phiên bản ghi vào CURSOR và đưa vào trong 1 hoặc những biến:

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

WHILE
FETCH_STATUS = 0 BEGIN FETCH NEXT FROM cursor_name; END;Sau khi đã cẩn thận qua vớ cả bạn dạng ghi trong CURSOR, bọn họ sẽ đóng CURSOR bằng lệnh sau:

CLOSE cursor_name;Cuối cùng, phân chia CURSOR để giải phóng nó:

DEALLOCATE cursor_name;

Ví dụ CURSOR trong SQL Server

Chúng tôi sẽ thực hiện bảng products vào cơ sở tài liệu mẫu BikeStores nhằm minh họa cho CURSOR trong SQL Server:

*

Đầu tiên, khai báo hai đổi mới để lưu trữ tên sản phẩm và niêm yết và một CURSOR nhằm lưu trữ hiệu quả của truy nã vấn mang tên sản phẩm và 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 đó, coi ngó từng bản ghi từ bỏ CURSOR và in ra tên thành phầm và giá chỉ niêm yết:

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

CLOSE cursor_product;Cuối cùng, phân chia CURSOR để giải phóng nó.

DEALLOCATE cursor_product;Đây là đoạn mã trả chỉnh:

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;Đây là cổng đầu ra một phần:

*

Trong thực tế, các bạn sẽ hiếm khi thực hiện CURSOR để xử lý tập tác dụng vì nó vô cùng chậm.

Trong phần này, các bạn đã học cách áp dụng CURSOR trong SQL server để cách xử trí một tập kết quả, mỗi lần một bản ghi.

Còn nữa...


nếu photoworld.com.vn hữu ích và giúp cho bạn tiết kiệm thời gian

Bạn hoàn toàn có thể vui lòng tắt trình chặn quảng cáo ❤️ để cung ứng chúng tôi bảo trì hoạt động của trang web.