Declare trong sql là gì

  -  

Stored procedure trong Squốc lộ Server được sử dụng nhằm nhóm một hoặc những câu lệnh Transact-Squốc lộ thành các đơn vị chức năng súc tích. Stored procedure được lưu trữ bên dưới dạng các đối tượng người dùng chọn cái tên trong sever đại lý dữ liệu Squốc lộ Server.quý khách sẽ xem: Declare trong sql là gì

Khi các bạn Call một stored procedure lần thứ nhất, Squốc lộ Server sẽ khởi tạo một kế hoạch thực hiện cùng lưu trữ nó vào bộ đệm. Trong những lần thực hiện tiếp theo của stored procedure, SQL Server thực hiện lại kế hoạch nhằm stored procedure hoàn toàn có thể xúc tiến hết sức nkhô hanh cùng với năng suất an toàn và đáng tin cậy.

Bạn đang xem: Declare trong sql là gì

Trong hướng dẫn này, bạn sẽ mày mò những sản phẩm công nghệ chúng ta cần biết về stored procedure vào Squốc lộ Server còn chỉ cho chính mình phương pháp phát hành những stored procedure linch hoạt để buổi tối ưu hóa truy cập các đại lý tài liệu.

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

Trong phần này, bạn sẽ mày mò bí quyết quản lý những stored procedure vào Squốc lộ Server bao hàm chế tạo ra, thực thi, sửa đổi và xóa các stored procedure.

Tạo stored procedure dễ dàng và đơn giản vào SQL Server

Câu lệnh SELECT sau trả về list các sản phẩm từ bỏ bảng products vào các đại lý dữ liệu chủng loại BikeStores:

SELECT product_name, list_priceFROM production.productsORDER BY product_name;Để tạo thành stored procedure phủ bọc truy vấn vấn này, chúng ta sử dụng câu lệnh CREATE PROCEDURE nlỗi 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 phân làn title và phần thân của stored procedure.Nếu stored procedure gồm một câu lệnh, các từ bỏ khóa BEGIN và END bao bọc câu lệnh là tùy lựa chọn. Tuy nhiên, đó là một thực hành thực tế xuất sắc tạo cho mã rõ ràng rộng.Lưu ý: ngoài tự khóa CREATE PROCEDURE, chúng ta có thể sử dụng từ bỏ khóa CREATE PROC để gia công mang lại câu lệnh ngắn thêm.

Để biên dịch stored procedure này, các bạn triển khai nó nlỗi một câu lệnh Squốc lộ bình thường vào SQL Server Management Studio như vào hình sau:


*

Nếu hồ hết máy hầu như đúng chuẩn, thì các bạn sẽ thấy thông báo sau:

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

quý khách hoàn toàn có thể kiếm tìm thấy stored procedure vào Object Explorer, trong Programmability > Stored Procedures như vào hình sau:


*

Thông thường, bạn phải nhấp vào nút ít Refresh nhằm cập nhật bằng tay những đối tượng cửa hàng tài liệu trong Object Explorer.

Thực thi stored procedure vào SQL Server

Để triển khai stored procedure, chúng ta thực hiện câu lệnh EXECUTE hoặc EXEC theo sau là tên của stored procedure nlỗi sau:

EXECUTE sp_name;Hoặc là

EXEC sp_name;Với sp_name là tên gọi của stored procedure mà bạn muốn triển khai.

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

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


*

Sửa đổi stored procedure trong SQL Server

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

trước hết, stored procedure để thấy văn bản của nó bằng phương pháp bấm vào đề nghị vào thương hiệu stored procedure và lựa chọn thực đơn Modify:


*

Thứ đọng hai, thay đổi nội dung của stored procedure cơ mà trong ví dụ này là thu xếp những sản phẩm theo giá niêm yết nỗ lực 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ứ đọng bố, nhấp vào nút Execute, SQL Server sửa thay đổi stored procedure và trả về thông báo sau:

Commands completed successfully.Bây giờ đồng hồ, nếu khách hàng tiến hành lại stored procedure, các bạn sẽ thấy các chuyển đổi đã gồm hiệu lực:

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


*

Xóa stored procedure trong SQL Server

Để xóa stored procedure trong SQL Server, các bạn thực hiện câu lệnh DROP.. PROCEDURE hoặc DROPhường. PROC nlỗi 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 nhưng mà bạn muốn xóa.

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

DROPhường PROCEDURE uspProductList;Trong phần này, các bạn vẫn học phương pháp cai quản những stored procedure trong Squốc lộ Server bao hàm sản xuất, tiến hành, sửa đổi và xóa các stored procedure.

Stored procedure có tđắm say số trong Squốc lộ Server

Trong phần này, công ty chúng tôi đang không ngừng mở rộng stored procedure có thể chấp nhận được truyền một hoặc nhiều tyêu thích số mang đến nó. Kết quả của stored procedure vẫn thay đổi dựa trên giá trị của những tham mê số.

Tạo stored procedure gồm một tham mê số trong Squốc lộ Server

Truy vấn dưới đây trả về danh sách thành phầm từ bảng products trong cửa hàng tài liệu chủng loại BikeStores:

SELECT product_name, list_priceFROM production.productsORDER BY list_price;Bạn rất có thể sinh sản stored procedure bảo phủ tróc nã vấn này bằng phương pháp thực hiện câu lệnh CREATE PROCEDURE nlỗi 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 có thể thêm một tsi số vào stored procedure nhằm search các thành phầm có giá niêm yết to hơn giá chỉ đầ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 hết, Shop chúng tôi vẫn thêm 1 tđam mê số mang tên là min_list_price. Tđam mê số nên được bao quanh vị cặp vết ngoặc tròn.

Thực thi stored procedure gồm một tmê say số trong SQL Server

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

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


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

Nếu chúng ta thay đổi đối số thành 200, các bạn sẽ nhận ra một tập tác dụng khác:

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


Tạo stored procedure có không ít tđắm say số trong SQL Server

Stored procedure rất có thể tất cả một hoặc những tham số. Các tđắm đuối số được phân bóc tách bởi vệt phẩy.

Câu lệnh sau sửa đổi stored procedure uspFindProducts bằng cách thêm 1 tsi mê 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 thay đổi thành công, bạn có thể xúc tiến nó bằng cách truyền nhị đối số vào stored procedure, một đến max_list_price như sau:

EXEC uspFindProducts 900, 1000;Sau phía trên cho biết thêm đầu ra:


Sử dụng tên của tsay đắm số Lúc triển khai stored procedure trong SQL Server

Trong ngôi trường đúng theo những stored procedure có khá nhiều tyêu thích số, đã tốt hơn và cụ thể rộng Lúc thực hiện cácstored procedure bằng phương pháp thực hiện thương hiệu của những ttê mê số.

lấy ví dụ, câu lệnh sau triển khai stored procedure uspFindProducts bằng cách sử dụng thương hiệu của các tđam mê số max_list_price = 1000;Kết trái của stored procedure là hệt nhau mặc dù câu lệnh đang cụ thể hơn.

Tmê man số kiểu dáng chuỗi ký từ bỏ cho stored procedure trong Squốc lộ Server

Câu lệnh sau đây thêm tsi 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 đang thêm điều kiện sau:

product_name LIKE "%" + name + "%"Bằng cách này, stored procedure trả về các sản phẩm có mức giá niêm yết phía trong phạm vi giá niêm yết về tối tgọi cùng buổi tối đa với thương hiệu sản phẩm cũng cất một quãng vnạp năng lượng bạn dạng mà các bạn truyền vào.

khi stored procedure được đổi khác thành công xuất sắc, chúng ta cũng có thể thực hiện nó nlỗi sau:

EXEC uspFindProducts name = "Trek";Trong câu lệnh này, Cửa Hàng chúng tôi sẽ sử dụng stored procedure uspFindProducts nhằm tìm sản phẩm có mức giá niêm yết ở trong khoảng 900 với 1.000 và tên của chúng gồm chứa trường đoản cú Trek.

Tấm hình dưới đây cho biết đầu ra:


Tạo những tsay đắm số tùy chọn mang lại stored procedure vào Squốc lộ Server

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

Squốc lộ Server chất nhận được các bạn chỉ định và hướng dẫn những quý giá mang định cho các tsi số nhằm khi chúng ta thực hiện stored procedure, chúng ta cũng có thể bỏ qua mất những tđắm say 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 AND list_price Trong stored procedure này, công ty chúng tôi sẽ gán 0 có tác dụng giá trị khoác định đến tmê mệt số max_list_price.

Khi stored procedure được biên dịch, bạn cũng có thể tiến hành nó nhưng mà ko đề nghị truyền những đối số mang đến tđắm đuối số name = "Trek";Đây là kết quả:


Trong trường vừa lòng này, stored procedure đang thực hiện cực hiếm 0 đến tđê mê số max_list_price được Điện thoại tư vấn là tmê say số tùy chọn (optional parameters).

Tất nhiên, chúng ta có thể truyền các đối số cho các tham số tùy lựa chọn. Ví dụ: câu lệnh sau trả về tất cả các sản phẩm có giá niêm yết to hơn hoặc bởi 6.000 và thương hiệu chứa từ bỏ Trek:

EXEC uspFindProducts name = "Trek";

Sử dụng NULL làm quý hiếm mang định mang lại tham số của stored procedure vào SQL Server

Trong stored procedure uspFindProducts, công ty chúng tôi đã sử dụng 999.999 có tác dụng giá niêm yết tối đa mang định. Điều này sẽ không ổn vày sau đây bạn cũng có thể bao gồm sản phẩm có mức giá niêm yết bự hơn thế.

Một chuyên môn điển hình để tránh điều đó là thực hiện NULL làm cho quý hiếm mặc định cho những tđắm say 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 sẽ biến đổi điều kiện để xử lý quý giá NULL mang đến tmê man số max_list_price IS NULL OR list_price Tips: đấy là một biểu thức điều kiện rất lôi cuốn cơ mà các bạn sẽ phát hiện không ít trong số dự án công trình thực tiễn Khi đi làm việc.Câu lệnh sau đây thực hiện stored procedure uspFindProducts để search sản phẩm có giá niêm yết to hơn hoặc bởi 500 và thương hiệu gồm đựng từ bỏ Haro.

EXEC uspFindProducts name = "Haro";
Trong phần này, chúng ta đang học biện pháp tạo nên và thực thi stored procedure với cùng 1 hoặc nhiều tđam mê số. Bạn đã và đang học tập phương pháp tạo ra các tsi số tùy lựa chọn cùng thực hiện NULL có tác dụng quý hiếm mặc định cho những tsi số.

Biến trong Squốc lộ Server

Trong phần này, bạn sẽ tìm hiểu về biến đổi trong Squốc lộ Server bao gồm knhì báo biến hóa, gán giá trị mang đến biến hóa cùng gán các ngôi trường giá trị của bản ghi cho trở nên.

Biến là gì?

Biến là một đối tượng người tiêu dùng cất một giá trị độc nhất của một loại tài liệu ví dụ, ví dụ: integer, decimal, date hoặc chuỗi cam kết từ, v.v.

Chúng ta thường sử dụng vươn lên là trong những ngôi trường phù hợp sau:

Là một bộ đếm vòng lặp nhằm đếm tần số vòng lặp được thực hiện.Để duy trì 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.Để tàng trữ quý giá được trả về do một stored procedure hoặc một hàm.

Xem thêm: Tải Game Đua Moto Gp 2 - Tải Game Đua Xe Motogp 21 Full Crack Pc

Knhị báo biến

Theo mang định, lúc 1 trở thành được knhì báo, cực hiếm của nó được đặt thành NULL.

Giữa thương hiệu phát triển thành với nhiều loại dữ liệu, chúng ta cũng có thể sử dụng AStrường đoản cú khóa tùy lựa chọn nlỗi sau:

DECLARE product_name VARCHAR(MAX);

Gán quý giá mang đến biến

Để gán cực hiếm cho 1 biến, bạn sử dụng câu lệnh SET. Ví dụ: câu lệnh sau gán 2018 mang lại biến model_year vào mệnh đề WHERE để search những 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 đầy đủ thiết bị lại với nhau với triển khai kân hận mã sau để có danh sách các thành phầm tất 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ã, các bạn click chuột nút Exedễ thương nlỗi trong hình sau, hoặc nhấn phím F5:
Bức Ảnh sau đây cho biết thêm hiệu quả đầu ra:


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

Các bước dưới đây biểu thị cách lưu trữ công dụng truy hỏi vấn vào một biến:

trước hết, knhị báo một đổi thay có tên product_count AS VARCHAR(MAX));Kết quả như sau:

The number of products is 204Để ẩn số lượng bạn dạng ghi bị ảnh hưởng, các bạn áp 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 minc họa cách knhì báo nhị biến chuyển, gán một phiên bản ghi cho cái đó và xuất câu chữ của những biến:

Trước hết, knhì báo những biến để lưu trữ thương hiệu sản phẩm với giá niêm yết:

DECLARE list_price = list_priceFROM production.productsWHERE product_id = 100;Thứ tía, 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 các giá trị vào một trong những biến

Stored procedure tiếp sau đây tất cả một tsi số cùng trả về danh sách các sản phẩm bên dưới dạng chuỗi:

CREATE PROC uspGetProductList( product_danh mục với dạng hình varchar với gán quý giá của nó thành trống.Thứ đọng ba, Cửa Hàng chúng tôi vẫn sử dụng câu lệnh PRINT để in ra danh sách tên thành phầm.Câu lệnh sau đây triển khai stored procedure uspGetProductList:

EXEC uspGetProductList 2018Bức Ảnh dưới đây cho thấy một trong những phần công dụng đầu ra:


Trong phần này, bạn đã tò mò về biến đổi vào SQL Server bao hàm khai báo biến, gán quý hiếm đến biến hóa cùng gán những ngôi trường của phiên bản ghi cho những biến đổi.

Tsi số OUTPUT của stored procedure trong Squốc lộ Server

Trong phần này, các bạn sẽ khám phá phương pháp áp dụng các tsay mê số OUTPUT (tham mê số đầu ra) vào Squốc lộ Server nhằm trả tài liệu quay lại lịch trình Hotline.

Tạo tyêu thích số OUTPUT mang đến stored procedure

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

parameter_name data_type OUTPUTMột stored procedure hoàn toàn có thể có nhiều tđam mê số OUTPUT. Bên cạnh đó, những tsay mê số OUTPUT có thể ở bất kỳ thứ hạng tài liệu vừa lòng lệ nào như: số nguim, tháng ngày với chuỗi.

Ví dụ: stored procedure sau đây tra cứu tìm các sản phẩm theo năm Mã Sản Phẩm cùng trả về số lượng sản phẩm thông qua tmê say số OUTPUT là product_count INT OUTPUT) ASBEGIN SELECT product_name, list_price FROM production.products WHERE model_year = product_count INT OUTPUTThđọng nhì, sau câu lệnh SELECT, bọn họ đã gán số lượng bản ghi được trả về vì truy nã vấn (ROWCOUNT là 1 trong biến khối hệ thống trả về số lượng phiên bản ghi được đọc vị câu lệnh vùng phía đằng trước.khi chúng ta tiến hành câu lệnh CREATE PROCEDURE trên, stored procedure uspFindProductByModel sẽ tiến hành biên dịch và giữ vào danh mục các đại lý tài liệu.

Nếu hồ hết lắp thêm các ổn định, SQL Server sẽ đưa ra thông tin sau:

Commands completed successfully.

Thực thi stored procedure với những tyêu thích số OUTPUT

Để triển khai stored procedure cùng với các tmê mệt số OUTPUT, chúng ta làm theo công việc sau:

Trước tiên, knhị báo các biến chuyển nhằm tàng trữ các quý hiếm được trả về vì các ttê mê số OUTPUT.Thứ đọng nhị, áp dụng những đổi mới này Khi điện thoại tư vấn thực thi 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 thêm đầu ra:


Trong ví dụ này:

Trước tiên, Shop chúng tôi knhị báo vươn lên là count INT;Sau đó, tiến hành stored procedure uspFindProductByModel và truyền các tđắm say số:

EXEC uspFindProductByModel product_count.

quý khách hàng cũng rất có thể xúc tiến stored procedure uspFindProductByModel nthêm gọn như sau:

EXEC uspFindProductByModel 2018, count AS "Number of products found";Trong phần này, chúng ta vẫn học bí quyết áp dụng tsay mê số OUTPUT nhằm truyền tài liệu trường đoản cú stored procedure trở lại chương trình Hotline.

Câu lệnh BEGIN ... END trong Squốc lộ Server

Trong phần này, các bạn sẽ mày mò giải pháp sử dụng câu lệnh BEGIN...END vào Squốc lộ Server nhằm quấn một tập vừa lòng những câu lệnh Transact-SQL thành một khối câu lệnh.

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

Câulệnh BEGIN...END trong SQL Server được áp dụng để định nghĩa một kăn năn câu lệnh. Một khối hận câu lệnh bao gồm một tập hợp các câu lệnh SQL triển khai cùng cả nhà.

Nói biện pháp khác, giả dụ coi mỗi câu lệnh là một trong những câu văn uống thì câu lệnh BEGIN...END cho phép chúng ta khái niệm một quãng văn.

Sau phía trên minc 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 vừa lòng những câu lệnh SQL thân các trường đoản cú 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 sản phẩm with price greater than 100000 found";ENDĐầu ra:


Để xem các thông tin được sinh sản bởi câu lệnh PRINT, trong SQL Server Management Studio, bạn cần nhấp vào tab Messages. Theo khoác định, tab Results được nhảy với tab Messages bị ẩn.

Trong ví dụ này:

Trước tiên, chúng tôi tất cả một khối hận lệnh ban đầu bởi từ khóa BEGIN cùng xong bởi tự khóa END.Lưu ý: ROWCOUNT là 1 trong những biến hệ thống trả về số lượng bạn dạng ghi bị tác động vày câu lệnh vùng trước.

Câu lệnh BEGIN... END số lượng giới hạn một kân hận lô ghích của những câu lệnh SQL. Chúng tôi hay áp dụng câu lệnh BEGIN...END sống đầu cùng cuối của một stored procedure và function.

Câu lệnh BEGIN...END cũng rất được áp dụng cho các câu lệnh IF ELSE, câu lệnh WHILE, v.v., để bao quanh nhiều câu lệnh.

Câu lệnh BEGIN ... END lồng nhau trong Squốc lộ Server

Khối hận câu lệnh BEGIN...END rất có thể lồng nhau vào Squốc lộ Server. Nó đơn giản và dễ dàng Tức là bạn có thể đặt một câu lệnh BEGIN...END vào một câu lệnhBEGIN... END không giống .

Hãy chu đáo ví dụ sau:

BEGIN DECLARE name END ELSE BEGIN PRINT "No sản phẩm found"; END;ENDTrong ví dụ này, công ty chúng tôi sẽ thực hiện câu lệnh BEGIN...END nhằm quấn toàn cục kân hận câu lệnh. Bên vào khối hận này, chúng tôi cũng áp dụng BEGIN...END cho những câu lệnh IF...ELSE.

Trong phần này, bạn vẫn tò mò về câu lệnh BEGIN...END vào SQL Server để bọc những câu lệnh Transact-SQL thành các kân hận lệnh.

CURSOR trong SQL Server

Trong phần này, các bạn sẽ khám phá bí quyết sử dụng CURSOR trong SQL Server nhằm xử trí một tập hiệu quả, những lần một bạn dạng ghi.

Squốc lộ Server chuyển động dựa trên tập vừa lòng, ví dụ, câu lệnh SELECT trả về một tập vừa lòng những bạn dạng ghi được Gọi là tập hiệu quả. Tuy nhiên, đôi khi, bạn cũng có thể mong muốn giải pháp xử lý một tập tài liệu theo từng bản ghi. Đây là lúc CURSOR được thực hiện.

CURSOR là gì?

CURSOR (nhỏ trỏ) là 1 trong đối tượng người dùng cho phép thông qua qua các phiên bản ghi của tập công dụng. Nó cho phép chúng ta cách xử trí từng phiên bản ghi đơn nhất được trả về vì một truy tìm vấn.

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

Đây là quá trình nhằm chế tạo với áp dụng một CURSOR:


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

DECLARE cursor_name CURSOR FOR select_statement;Để khai báo một CURSOR, chúng ta hướng dẫn và chỉ định tên của nó sau trường đoản cú khóa DECLARE với kiểu dáng tài liệu là CURSOR và hỗ trợ một câu lệnh SELECT tư tưởng tập kết quả mang lại CURSOR.

Tiếp theo, mnghỉ ngơi CURSOR để xúc tiến câu lệnh SELECT:

OPEN cursor_name;Sau kia, chuyên chú từng bản ghi trong CURSOR cùng chuyển vào một trong những hoặc những biến:

FETCH NEXT FROM cursor INTO variable_list;SQL Server cung ứng biến chuyển khối hệ thống FETCHSTATUS trả về 0, tức là câu lệnh FETCH đang thành công. quý khách hàng hoàn toàn có thể thực hiện câu lệnh WHILE để thông qua toàn bộ những phiên bản ghi trường đoản cú CURSOR nhỏng trong đoạn mã sau:

WHILE FETCH_STATUS = 0 BEGIN FETCH NEXT FROM cursor_name; END;Sau Lúc đang chăm chút qua tất cả bạn dạng ghi vào CURSOR, họ sẽ đóng góp CURSOR bởi lệnh sau:

CLOSE cursor_name;Cuối thuộc, phân bổ CURSOR để giải phóng nó:

DEALLOCATE cursor_name;

lấy một ví dụ CURSOR trong Squốc lộ Server

Chúng tôi đã sử dụng bảng products trong đại lý tài liệu chủng loại BikeStores nhằm minc họa đến CURSOR vào Squốc lộ Server:


Trước hết, knhị báo hai vươn lên là nhằm lưu trữ tên thành phầm và giá niêm yết cùng một CURSOR để tàng trữ công dụng của truy nã vấn lấy thương hiệu thành phầm và niêm yết tự bảng production.products:

DECLARE list_price DECIMAL;DECLARE cursor_hàng hóa CURSORFOR SELECT product_name, list_price FROM production.products;Tiếp theo, mnghỉ ngơi CURSOR:

OPEN cursor_product;Sau kia, trông nom từng bạn dạng ghi từ CURSOR với in ra thương hiệu thành phầm cùng giá 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 bổ CURSOR nhằm giải pđợi 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_sản phẩm INTO list_price; END;CLOSE cursor_product;DEALLOCATE cursor_product;Đây là cổng đầu ra một phần:


Trong thực tiễn, các bạn sẽ hiếm Khi thực hiện CURSOR để giải pháp xử lý tập kết quả bởi nó vô cùng chậm trễ.

Xem thêm: Khắc Phục Lỗi Ổ Cứng Bị Hiện Tượng &Quot;Not Initialized&Quot;

Trong phần này, bạn sẽ học tập phương pháp áp dụng CURSOR trong Squốc lộ Server để giải pháp xử lý một tập hiệu quả, mỗi lần một bạn dạng ghi.