Stored procedure sql là gì

     

Stored procedure trong SQL vps được sử dụng để team một hoặc các 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 được đặt tên trong máy chủ cơ sở dữ liệu SQL Server.

Bạn đang xem: Stored procedure sql là gì

Khi chúng ta gọi một stored procedure lần đầu tiên, SQL Server sẽ tạo một kế hoạch triển khai và lưu trữ nó trong bộ đệm. Trong những lần thực thi tiếp sau của stored procedure, SQL Server thực hiện lại planer để 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 khuyên bảo này, các bạn sẽ tìm hiểu đầy đủ thứ bạn cần biết về stored procedure trong SQL Server và chỉ cho bạn cách xây dựng những stored procedure linh động để 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, các bạn sẽ tìm đọc cách quản lý các stored procedure trong SQL Server bao gồm tạo, thực thi, sửa đổi với xóa những stored procedure.

Tạo stored procedure đơn giản trong SQL Server

Câu lệnh SELECT sau trả về danh sách các thành 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 product_name;Để sinh sả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 của stored procedure.Từ khóa AS chia cách tiêu đề cùng phần thân của stored procedure.Nếu stored procedure bao gồm một câu lệnh, những từ khóa BEGIN và END phủ bọc câu lệnh là tùy chọn. Tuy nhiên, đó là 1 trong những thực hành giỏi làm cho mã cụ thể hơn.Lưu ý: ngoài từ khóa CREATE PROCEDURE, chúng ta cũng có thể sử dụng tự khóa CREATE PROC để gia công cho câu lệnh ngắn hơn.

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

*

Nếu phần nhiều thứ đều bao gồm xác, thì các bạn sẽ thấy thông báo sau:

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

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

*

Đôi khi, bạn cần nhấp vào nút Refresh nhằm cập nhật bằng tay các đối tượng người tiêu dùng cơ sở dữ liệu trong Object Explorer.

Thực thi stored procedure trong SQL Server

Để triển khai stored procedure, bạn 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à bạn muốn thực thi.

Ví dụ, để thực thi stored procedure uspProductList, bạn áp dụng câu lệnh sau:

EXEC uspProductList;Stored procedure trả về áp ra output sau:

*

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

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

Đầu tiên, stored procedure nhằm xem văn bản của nó bằng cách bấm chuột phải vào tên stored procedure và lựa chọn menu Modify:

*

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

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

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

*

Xóa stored procedure trong SQL Server

Để xóa stored procedure trong 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 của stored procedure mà bạn có nhu cầu xóa.

Ví dụ: nhằm xóa stored procedure uspProductList, bạn tiến hành câu lệnh sau:

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

Stored procedure có tham số trong SQL Server

Trong phần này, shop chúng tôi sẽ mở rộng stored procedure chất nhận được truyền một hoặc các tham số đến nó. Hiệu quả 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 có thể tạo stored procedure phủ quanh 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 bạn cũng có thể thêm một thông số vào stored procedure nhằm tìm các sản phẩm có giá bán niêm yết lớn 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, chúng tôi đã thêm một tham số mang tên là
min_list_price. Tham số bắt buộc được bảo phủ bởi cặp vệt ngoặc tròn.

Thực thi stored procedure tất cả một tham số trong SQL Server

Để tiến hành stored procedure uspFindProducts, bạn truyền một đối số mang đến nó như sau:

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

*

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

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

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

*

Tạo stored procedure có khá nhiều tham số vào SQL Server

Stored procedure có thể có một hoặc các tham số. Các tham số được phân tách 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 mang tên
max_list_price AS DECIMAL)ASBEGIN SELECT product_name, list_price FROM production.products WHERE list_price >=
min_list_price & list_price lúc stored procedure được sửa biến thành công, bạn có thể thực thi nó bằng cách truyền nhị đối số vào stored procedure, một mang lại
max_list_price như sau:

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

*

Sử dụng tên của tham số khi xúc tiến stored procedure vào SQL Server

Trong ngôi trường hợp những stored procedure có khá nhiều tham số, sẽ xuất sắc hơn và ví dụ hơn khi thực thi cácstored procedure bằng cách 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 cách sử dụng tên của các tham số
max_list_price = 1000;Kết quả của stored procedure là đồng nhất tuy nhiên câu lệnh sẽ rõ ràng hơn.

Tham số hình dạng chuỗi ký kết tự mang lại 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 và list_price trong mệnh đề WHERE của câu lệnh SELECT, shop chúng tôi đã thêm đk sau:

product_name like "%" +
name + "%"Bằng cách này, stored procedure trả về các thành phầm có niêm yết nằm trong phạm vi niêm yết tối thiểu và về tối đa và tên thành phầm cũng đựng một đoạn văn phiên bản mà các bạn truyền vào.

Khi stored procedure được biến đổi thành công, chúng ta cũng có thể thực thi nó như sau:

EXEC uspFindProducts
name = "Trek";Trong câu lệnh này, shop chúng tôi đã sử dụng stored procedure uspFindProducts nhằm tìm thành phầm có niêm yết nằm trong vòng 900 và 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 các tham số tùy chọn mang đến stored procedure trong SQL Server

Khi chúng ta thực thì stored procedure uspFindProducts, các bạn phải truyền cả tía đối số khớp ứng với bố tham số của stored procedure.

SQL Server chất nhận được bạn chỉ định các giá trị mang định cho các tham số để khi bạn thực thi stored procedure, chúng ta cũng có thể bỏ qua những tham số 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 vào stored procedure này, chúng tôi đã gán 0 làm giá trị mặc định mang đến tham số
max_list_price.

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

*

Trong trường vừa lòng này, stored procedure đã sử dụng giá trị 0 mang đến tham số
max_list_price được điện thoại tư vấn là tham số tùy lựa chọn (optional parameters).

Tất nhiên, bạn có thể truyền những đối số cho các 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á bán niêm yết lớn hơn hoặc bằng 6.000 với tên chứa từ Trek:

EXEC uspFindProducts
name = "Trek";

*

Sử dụng NULL có tác dụng giá trị mặc định mang đến tham số của stored procedure trong SQL Server

Trong stored procedure uspFindProducts, chúng tôi đã thực hiện 999.999 làm giá niêm yết tối nhiều mặc định. Điều này không ổn bởi trong tương lai bạn có thể có những thành phầm có giá bán niêm yết lớn hơn thế.

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

EXEC uspFindProducts
name = "Haro";

*
Trong phần này, các bạn đã học phương pháp tạo và xúc tiến stored procedure với cùng một hoặc nhiều tham số. Bạn đã và đang học giải pháp tạo những tham số tùy lựa chọn và thực hiện NULL làm giá trị mặc định cho những tham số.

Biến vào SQL Server

Trong phần này, bạn sẽ tìm hiểu về vươn lên là trong SQL Server bao gồm khai báo biến, gán cực hiếm cho phát triển thành và gán các trường quý hiếm của phiên 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 cực hiếm duy nhất của một kiểu dữ liệu cụ thể, ví dụ: integer, decimal, date hoặc chuỗi cam kết tự, v.v.

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

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

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

Xem thêm: Tại Sao Sổ Đỏ Không Có Tọa Độ Có Sang Tên Được Không ? Sổ Đỏ Không Thể Hiện Phần Tọa Độ

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

DECLARE
product_name VARCHAR(MAX);

Gán giá bán trị đến biến

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

*
Hình hình ảnh sau đây cho biết thêm kết trái đầu ra:

*

Lưu trữ hiệu quả truy vấn trong biến

Các bước sau đây mô tả biện pháp lưu trữ kết quả truy vấn trong một biến:

Đầu tiên, khai báo một biến mang tên
product_count AS VARCHAR(MAX));Kết đúng thật sau:

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

SET NOCOUNT ON;

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

Các bước sau minh họa bí quyết khai báo nhị biến, gán một bạn dạng ghi cho việc đó và xuất nội dung của những biến:

Đầu tiên, khai báo các biến để tàng trữ tên thành phầm và giá bán 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;Đây là kết quả:

*

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

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

CREATE PROC uspGetProductList(
product_list với phong cách varchar với gán giá bán trị của nó thành trống.Thứ ba, chúng tôi đã thực hiện câu lệnh PRINT để 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 quả đầu ra:

*

Trong phần này, bạn đã tò mò về biến trong SQL Server bao gồm khai báo biến, gán quý giá cho đổi thay và gán các trường của bản ghi cho các biến.

Tham số output đầu ra của stored procedure trong SQL Server

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

Tạo thông số OUTPUT cho stored procedure

Để tạo một tham số OUTPUT mang lại 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ó không ít tham số OUTPUT. Quanh đó ra, những tham số OUTPUT rất có thể ở bất kỳ kiểu tài liệu hợp lệ nào như: số nguyên, ngày tháng với chuỗi.

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

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

Nếu đông đảo thứ hồ hết ổn, SQL hệ thống sẽ chuyển ra thông tin sau:

Commands completed successfully.

Thực thi stored procedure với các tham số OUTPUT

Để thực thi stored procedure với những tham số OUTPUT, các bạn 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 những tham số OUTPUT.Thứ hai, sử dụng các biến này khi gọi thực hiện stored procedure.

Ví dụ, câu lệnh sau triển khai stored procedure uspFindProductByModel:

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

*

Trong ví dụ như này:

Đầu tiên, chúng tôi khai báo biến đổi
count INT;Sau đó, xúc tiến stored procedure uspFindProductByModel cùng truyền những tham số:

EXEC uspFindProductByModel
product_count.

Bạn cũng 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, bạn đã học cách sử dụng tham số đầu ra để truyền dữ liệu từ stored procedure quay 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 gọi cách sử dụng 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 tiền về câu lệnh BEGIN...END vào SQL Server

Câulệnh BEGIN...END trong SQL server được áp dụng để tư tưởng một khối câu lệnh. Một khối câu lệnh gồm một tập hợp các câu lệnh SQL triển khai cùng nhau.

Nói giải pháp khác, giả dụ xem mỗi câu lệnh là một câu văn thì câu lệnh BEGIN...END cho phép bạn tư tưởng một đoạn văn.

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

BEGIN sql_statement ENDTrong cú pháp này, chúng ta đặt một tập hợp những câu lệnh SQL giữa các từ khóa BEGIN với 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:

*

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

Trong lấy ví dụ như này:

Đầu tiên, shop chúng tôi có một khối lệnh bắt đầu bằng từ khóa BEGIN và ngừng bằng từ bỏ khóa END.Lưu ý:
ROWCOUNT là 1 trong biến hệ thống trả về số lượng phiên bản ghi bị ảnh hưởng bởi câu lệnh phía trước.

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

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

Câu lệnh BEGIN ... Over lồng nhau vào SQL Server

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

Hãy để mắt tới ví dụ sau:

BEGIN DECLARE
name end ELSE BEGIN PRINT "No product found"; END;ENDTrong lấy ví dụ như này, công ty chúng tôi đã thực hiện câu lệnh BEGIN...END để bọc cục bộ khối câu lệnh. Phía bên trong khối này, chúng tôi cũng áp dụng BEGIN...END cho các câu lệnh IF...ELSE.

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

CURSOR vào SQL Server

Trong phần này, bạn sẽ tìm gọi cách thực hiện CURSOR vào SQL server để giải pháp xử lý một tập kết quả, những lần một phiên bản ghi.

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

CURSOR là gì?

CURSOR (con trỏ) là một trong đối tượng có thể chấp nhận được duyệt qua các bạn dạng ghi của tập trung quả. Nó chất nhận được bạn xử lý từng bản ghi đơn chiếc được trả về bởi vì một truy vấn vấn.

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

Đây là công việc để chế tác 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 nó sau tự khóa DECLARE với kiểu tài liệu là CURSOR và hỗ trợ một câu lệnh SELECT định nghĩa tập công dụng cho CURSOR.

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

OPEN cursor_name;Sau đó, ưng chuẩn từng bạn dạng ghi trong CURSOR cùng đưa vào một hoặc những biến:

FETCH NEXT FROM cursor INTO variable_list;SQL Server cung cấp biến khối hệ thống
FETCHSTATUS trả về 0, có nghĩa là câu lệnh FETCH đã thành công. Bạn có thể sử dụng câu lệnh WHILE nhằm duyệt tất cả các bản ghi từ CURSOR như trong khúc mã sau:

WHILE
FETCH_STATUS = 0 BEGIN FETCH NEXT FROM cursor_name; END;Sau lúc đã chuyên chú qua tất cả bạn dạng ghi vào CURSOR, chúng ta sẽ đóng góp CURSOR bởi 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 vào 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 mang lại CURSOR trong SQL Server:

*

Đầu tiên, khai báo hai biến hóa để tàng trữ tên thành phầm và giá niêm yết và một CURSOR nhằm lưu trữ hiệu quả của truy nã vấn rước 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 đó, chú tâm từng bạn dạng ghi trường đoản cú CURSOR cùng 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 góp 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ã hoàn 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à áp ra output một phần:

*

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

Trong phần này, bạn đã học cách thực hiện CURSOR vào SQL vps để cách xử lý một tập trung quả, mỗi lần một phiên bản ghi.

Còn nữa...

Xem thêm: Ý Nghĩa Của Cinematography Là Gì ? Điều Mà Cinematographer Phải Biết


trường hợp giaynamdavinci.com hữu ích và giúp đỡ bạn tiết kiệm thời hạn

Bạn rất có thể vui lòng tắt trình chặn quảng cáo ❤️ để hỗ trợ chúng tôi bảo trì hoạt đụng của trang web.