BÀI GIẢI BÀI TẬP TRIGGER, THỦ TỤC VÀ HÀM_HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU_DBMS

Stored procedure vào SQL Server được sử dụng để team một hoặc nhiều câu lệnh Transact-SQL thành những đơn vị xúc tích. Stored procedure được tàng trữ dưới dạng những đối tượng người tiêu dùng chọn cái tên trong máy chủ cơ sở tài liệu Squốc lộ Server.

Bạn đang xem: Bài giải bài tập trigger, thủ tục và hàm_hệ quản trị cơ sở dữ liệu_dbms

lúc bạn Gọi một stored procedure lần thứ nhất, SQL Server sẽ tạo một planer thực thi và tàng trữ nó trong cỗ đệm. Trong những lần triển khai tiếp theo sau của stored procedure, Squốc lộ Server thực hiện lại kế hoạch để stored procedure hoàn toàn có thể xúc tiến hết sức nhanh hao cùng với hiệu suất tin cậy.

Trong hướng dẫn này, bạn sẽ khám phá hồ hết thiết bị các bạn cần phải biết về stored procedure trong Squốc lộ Server còn chỉ cho mình phương pháp thành lập các stored procedure linch hoạt để về tối ưu hóa truy vấn các đại lý tài liệu.

Hướng dẫn cơ bạn dạng về stored procedure trong Squốc lộ Server

Trong phần này, bạn sẽ khám phá cách cai quản những stored procedure vào SQL Server bao hàm tạo, thực thi, sửa thay đổi và xóa các stored procedure.

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

Câu lệnh SELECT sau trả về danh sách những thành phầm từ bảng products trong cơ sở dữ liệu chủng loại BikeStores:

SELECT product_name, list_priceFROM production.productsORDER BY product_name;Để tạo ra stored procedure phủ quanh truy hỏi vấn này, chúng ta áp dụng câu lệnh CREATE PROCEDURE nhỏng 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 phân cách title cùng phần thân của stored procedure.Nếu stored procedure bao gồm một câu lệnh, các tự khóa BEGIN và END phủ quanh câu lệnh là tùy chọn. Tuy nhiên, kia là 1 trong thực hành thực tế giỏi làm cho mã ví dụ hơn.Lưu ý: xung quanh từ khóa CREATE PROCEDURE, chúng ta có thể áp dụng từ bỏ khóa CREATE PROC để triển khai cho câu lệnh ngắn thêm.

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

*

Nếu phần đa thiết bị các đúng mực, thì 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ới lưu trữ thành công vào các đại lý dữ liệu.

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

*

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

Thực thi stored procedure vào Squốc lộ Server

Để triển khai stored procedure, các bạn áp dụng câu lệnh EXECUTE hoặc EXEC theo sau là tên gọi của stored procedure nlỗi sau:

EXECUTE sp_name;Hoặc là

EXEC sp_name;Với sp_name là tên của stored procedure mà lại bạn có nhu cầu tiến hành.

ví dụ như, để 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 output sau:

*

Sửa đổi stored procedure trong SQL Server

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

Đầu tiên, stored procedure để xem nội dung của chính nó bằng phương pháp bấm chuột nên vào tên stored procedure với chọn menu Modify:

*

Thứ đọng hai, thay đổi nội dung của stored procedure mà lại vào ví dụ này là thu xếp những thành phầm theo niêm yết 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 đổi stored procedure cùng trả về thông tin sau:

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

EXEC uspProductList;Sau đây cho biết một phần tác dụng đầu ra:

*

Xóa stored procedure vào Squốc lộ Server

Để xóa stored procedure vào Squốc lộ Server, chúng ta sử dụng câu lệnh DROPhường PROCEDURE hoặc DROPhường PROC nhỏng sau:

DROP. PROCEDURE sp_name;Hoặc là

DROPhường PROC sp_name;Với sp_name là tên gọi của stored procedure nhưng bạn muốn xóa.

Ví dụ: để xóa stored procedure uspProductList, chúng ta tiến hành câu lệnh sau:

DROP PROCEDURE uspProductList;Trong phần này, bạn vẫn học bí quyết quản lý những stored procedure vào SQL Server bao gồm chế tác, triển khai, sửa đổi cùng xóa các stored procedure.

Stored procedure tất cả tham số trong Squốc lộ Server

Trong phần này, Shop chúng tôi đã không ngừng mở rộng stored procedure có thể chấp nhận được truyền một hoặc các tđắm say số đến nó. Kết trái của stored procedure vẫn biến đổi dựa vào quý giá của những tmê say số.

Tạo stored procedure gồm một tsay mê số vào Squốc lộ Server

Truy vấn dưới đây trả về danh sách sản phẩm trường đoản cú bảng products vào cơ sở dữ liệu mẫu mã BikeStores:

SELECT product_name, list_priceFROM production.productsORDER BY list_price;Quý Khách hoàn toàn có thể tạo thành stored procedure phủ bọc tróc nã vấn này bằng phương pháp áp 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 tmê mệt số vào stored procedure để kiếm tìm những sản phẩm có 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đắm say số có tên là
min_list_price. Tsi mê số buộc phải được bao quanh do cặp vết ngoặc tròn.

Thực thi stored procedure gồm một tham mê số trong Squốc lộ Server

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

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

*

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

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

EXEC uspFindProducts 200;Sau phía trên cho biết đầu ra:

*

Tạo stored procedure có rất nhiều tđắm say số trong Squốc lộ Server

Stored procedure có thể có một hoặc những tmê mệt số. Các tmê mệt số được phân tách bóc bằng lốt phẩy.

Câu lệnh sau sửa đổi stored procedure uspFindProducts bằng phương pháp thêm một tđê 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 Khi stored procedure được sửa đổi thành công, chúng ta có thể xúc tiến nó bằng cách truyền hai đối số vào stored procedure, một cho
max_list_price nhỏng sau:

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

*

Sử dụng thương hiệu của tđam mê số Khi thực hiện stored procedure trong SQL Server

Trong ngôi trường hợp những stored procedure có không ít tđắm say số, vẫn xuất sắc hơn cùng cụ thể hơn Lúc thực thi cácstored procedure bằng cách thực hiện tên của các ttê mê số.

Ví dụ, câu lệnh sau thực hiện stored procedure uspFindProducts bằng phương pháp áp dụng thương hiệu của những tmê say số
max_list_price = 1000;Kết quả của stored procedure là đồng nhất mặc dù câu lệnh sẽ rõ ràng hơn.

Tđê mê số mẫu mã chuỗi ký tự mang lại stored procedure trong SQL Server

Câu lệnh dưới đây thêm tmê mệt 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 giải pháp này, stored procedure trả về những thành phầm có giá niêm yết nằm trong phạm vi giá niêm yết tối thiểu với về tối đa với thương hiệu thành phầm cũng đựng một quãng văn bạn dạng mà lại chúng ta truyền vào.

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

EXEC uspFindProducts
name = "Trek";Trong câu lệnh này, Shop chúng tôi vẫn áp dụng stored procedure uspFindProducts nhằm tìm kiếm sản phẩm có giá niêm yết nằm trong tầm 900 với 1.000 và tên của chúng tất cả chứa tự Trek.

Bức Ảnh dưới đây cho thấy thêm đầu ra:

*

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

khi các bạn thực thì stored procedure uspFindProducts, bạn nên truyền cả cha đối số khớp ứng cùng với ba tsay đắm số của stored procedure.

SQL Server cho phép bạn hướng đẫn các giá trị mang định cho những tyêu thích số để khi chúng ta thực hiện stored procedure, chúng ta cũng có thể bỏ qua mất các tmê mệt 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 AND list_price Trong stored procedure này, Shop chúng tôi đã gán 0 có tác dụng giá trị mang định mang đến tsay mê số
max_list_price.

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

*

Trong trường phù hợp này, stored procedure vẫn thực hiện quý hiếm 0 mang lại tham số
max_list_price được điện thoại tư vấn là tham mê số tùy lựa chọn (optional parameters).

Tất nhiên, bạn có thể truyền các đối số cho những tđắm đuối số tùy chọn. Ví dụ: câu lệnh sau trả về tất cả các thành phầm có mức giá 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 làm quý hiếm mang định cho tsi số của stored procedure vào SQL Server

Trong stored procedure uspFindProducts, Shop chúng tôi đang thực hiện 999.999 làm cho giá niêm yết tối đa mang định. Điều này không ổn định do sau này chúng ta cũng có thể bao gồm thành phầm có mức giá niêm yết mập hơn thế.

Một chuyên môn điển hình nổi bật nhằm tách vấn đề đó là áp dụng NULL làm cho cực hiếm khoá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ửa Hàng chúng tôi sẽ đổi khác điều kiện nhằm xử trí quý hiếm NULL mang lại tmê mẩn số
max_list_price IS NULL OR list_price Tips: đấy là một biểu thức ĐK rất hấp dẫn cơ mà bạn sẽ phát hiện không hề ít trong những dự án thực tế lúc đi làm.Câu lệnh dưới đây thực hiện stored procedure uspFindProducts để tìm kiếm sản phẩm có giá niêm yết to hơn hoặc bởi 500 và thương hiệu có chứa từ bỏ Haro.

EXEC uspFindProducts
name = "Haro";

*
Trong phần này, chúng ta vẫn học biện pháp tạo với xúc tiến stored procedure với một hoặc những ttê mê số. quý khách đã và đang học tập cách chế tạo các tđam mê số tùy chọn với áp dụng NULL làm quý hiếm khoác định cho các tmê man số.

Biến trong Squốc lộ Server

Trong phần này, bạn sẽ tìm hiểu về trở thành trong SQL Server bao hàm knhị báo trở thành, gán quý hiếm mang lại thay đổi và gán các ngôi trường quý giá của bản ghi đến trở nên.

Biến là gì?

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

Chúng ta thường áp dụng trở nên trong số ngôi trường hòa 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.Để giữ một giá trị được bình chọn bằng câu lệnh vòng lặp, chẳng hạn như lệnh WHILE.Để tàng trữ quý giá được trả về do một stored procedure hoặc một hàm.

Knhị báo biến

Để khai báo một đổi mới, các bạn áp dụng câu lệnh DECLARE. Ví dụ: câu lệnh sau knhị báo một biến đổi có tên
model_year SMALLINT;Câu lệnh DECLARE chế tạo một đổi mới bằng cách gán mang đến nó một thương hiệu và dạng hình dữ liệu. Tên phát triển thành bắt buộc bắt đầu bởi ký tự
model_year là SMALLINT.

Theo khoác định, khi một đổi thay được knhì báo, quý hiếm của nó được đặt thành NULL.

Xem thêm: Hướng Dẫn Cách Mua Dàn Âm Thanh Sân Khấu Trả Góp Có Là Phương Án Hiệu Quả?

Giữa thương hiệu biến hóa cùng nhiều loại tài liệu, chúng ta có thể thực hiện AStự khóa tùy chọn nhỏng sau:

DECLARE
product_name VARCHAR(MAX);

Gán quý giá cho biến

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

*
Tấm hình sau đây cho thấy thêm tác dụng đầu ra:

*

Lưu trữ kết quả truy hỏi vấn vào biến

Các bước tiếp sau đây diễn tả cách tàng trữ kết quả truy vấn trong một biến:

Thứ nhất, khai báo một biến đổi có tên
product_count AS VARCHAR(MAX));Kết đúng như sau:

The number of products is 204Để ẩn con số bản ghi bị ảnh hưởng, chúng ta thực hiện 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 minch họa biện pháp khai báo nhì phát triển thành, gán một phiên bản ghi cho chúng và xuất văn bản của các biến:

Đầu tiên, knhì báo các trở nê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đọng cha, xuất ngôn từ 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 biến

Stored procedure tiếp sau đây có một tyêu thích số và trả về danh sách các thành phầm bên dưới dạng chuỗi:

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

Câu lệnh sau đây triển khai stored procedure uspGetProductList:

EXEC uspGetProductList 2018Bức Ảnh tiếp sau đây cho thấy 1 phần hiệu quả đầu ra:

*

Trong phần này, chúng ta sẽ tìm hiểu về trở nên trong Squốc lộ Server bao gồm knhì báo thay đổi, gán cực hiếm mang đến trở thành với gán các trường của bản ghi cho những vươn lên là.

Tsi mê số OUTPUT của stored procedure trong SQL Server

Trong phần này, bạn sẽ tò mò bí quyết sử dụng những tmê say số OUTPUT (tmê mẩn số đầu ra) trong SQL Server để trả dữ liệu quay trở về lịch trình gọi.

Tạo tsi mê số OUTPUT mang đến stored procedure

Để chế tạo ra một tsi mê số OUTPUT mang đến stored procedure, bạn áp dụng cú pháp sau:

parameter_name data_type OUTPUTMột stored procedure hoàn toàn có thể có khá nhiều tham mê số OUTPUT. Ngoài ra, các tmê say số OUTPUT hoàn toàn có thể làm việc ngẫu nhiên mẫu mã tài liệu vừa lòng lệ như thế nào như: số nguyên ổn, ngày tháng và chuỗi.

Ví dụ: stored procedure dưới đây search kiế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 ttê mê 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, chúng ta vẫn gán con số bạn dạng ghi được trả về do truy tìm vấn (
ROWCOUNT là 1 biến đổi hệ thống trả về con số bạn dạng ghi được hiểu do câu lệnh vùng trước.

Lúc các bạn thực hiện câu lệnh CREATE PROCEDURE bên trên, stored procedure uspFindProductByModel sẽ được biên dịch cùng giữ vào hạng mục cửa hàng tài liệu.

Nếu phần đông trang bị rất nhiều ổn, Squốc lộ Server đang đưa ra thông báo sau:

Commands completed successfully.

Thực thi stored procedure với những tsi mê số OUTPUT

Để triển khai stored procedure với các tmê say số OUTPUT, bạn tuân theo các bước sau:

Trước tiên, khai báo những trở nên nhằm lưu trữ các quý giá được trả về vì những tyêu thích số OUTPUT.Thứ nhì, sử dụng các trở thành này Lúc Call xúc tiến stored procedure.

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

DECLARE
count AS "Number of products found";Bức Ảnh tiếp sau đây cho thấy đầu ra:

*

Trong ví dụ này:

Trước tiên, Shop chúng tôi knhì báo trở nên
count INT;Sau kia, thực hiện stored procedure uspFindProductByModel với truyền những tmê say số:

EXEC uspFindProductByModel
product_count.

Bạn cũng rất có thể triển khai stored procedure uspFindProductByModel nlắp gọn nhỏng sau:

EXEC uspFindProductByModel 2018,
count AS "Number of products found";Trong phần này, bạn sẽ học giải pháp áp dụng tsi mê số OUTPUT nhằm truyền tài liệu tự stored procedure quay lại lịch trình call.

Câu lệnh BEGIN ... END vào Squốc lộ Server

Trong phần này, các bạn sẽ mày mò phương 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 thích hợp những câu lệnh Transact-SQL thành một kân hận câu lệnh.

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

Câulệnh BEGIN...END vào Squốc lộ Server được áp dụng nhằm quan niệm một kăn năn câu lệnh. Một kăn năn câu lệnh bao gồm 1 tập vừa lòng những câu lệnh Squốc lộ tiến hành bên nhau.

Nói bí quyết không giống, ví như xem mỗi câu lệnh là 1 trong câu vnạp năng lượng thì câu lệnh BEGIN...END được cho phép bạn khái niệm một đoạn văn uống.

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 đúng theo những câu lệnh Squốc lộ giữa các từ bỏ khóa BEGIN cùng 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 nên vày câu lệnh PRINT, vào Squốc lộ Server Management Studio, bạn cần nhấp vào tab Messages. Theo mặc định, tab Results được bật cùng tab Messages bị ẩn.

Trong ví dụ này:

Đầu tiên, chúng tôi bao gồm một khối lệnh bước đầu bởi từ khóa BEGIN với ngừng bởi trường đoản cú khóa END.Lưu ý:
ROWCOUNT là 1 thay đổi khối hệ thống trả về con số bản ghi bị ảnh hưởng vì 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 năn súc tích của những câu lệnh SQL. Chúng tôi thường thực hiện câu lệnh BEGIN...END sinh sống đầ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., nhằm 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 rất có thể lồng nhau vào SQL Server. Nó đơn giản tức 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 chu đáo ví dụ sau:

BEGIN DECLARE
name END ELSE BEGIN PRINT "No sản phẩm found"; END;ENDTrong ví dụ này, Shop chúng tôi vẫn sử dụng câu lệnh BEGIN...END nhằm bọc tổng thể khối hận câu lệnh. Bên trong kân hận này, Shop 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 Squốc lộ Server để quấn các câu lệnh Transact-SQL thành những khối lệnh.

CURSOR vào Squốc lộ Server

Trong phần này, các bạn sẽ tò mò cách thực hiện CURSOR trong SQL Server nhằm xử trí một tập tác dụng, các lần một phiên bản ghi.

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

CURSOR là gì?

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

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

Đây là các bước nhằm tạo thành cùng áp dụng một CURSOR:

*

trước hết, knhì báo một CURSOR.

DECLARE cursor_name CURSOR FOR select_statement;Để knhị báo một CURSOR, các bạn hướng dẫn và chỉ định tên của nó sau từ bỏ khóa DECLARE cùng với giao diện tài liệu là CURSOR và cung cấp một câu lệnh SELECT khái niệm tập công dụng đến CURSOR.

Tiếp theo, mlàm việc CURSOR nhằm thực thi câu lệnh SELECT:

OPEN cursor_name;Sau kia, coi sóc từng bạn dạng ghi trong CURSOR và gửi vào một trong những hoặc những biến:

FETCH NEXT FROM cursor INTO variable_list;SQL Server cung cấp biến chuyển hệ thống
FETCHSTATUS trả về 0, Có nghĩa là câu lệnh FETCH đã thành công. Bạn hoàn toàn có thể thực hiện câu lệnh WHILE nhằm chăm sóc toàn bộ những bạn dạng ghi trường đoản cú CURSOR nhỏng trong khúc mã sau:

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

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

DEALLOCATE cursor_name;

lấy ví dụ CURSOR vào Squốc lộ Server

Chúng tôi đang sử dụng bảng products trong cơ sở dữ liệu mẫu mã BikeStores để minh họa mang lại CURSOR trong Squốc lộ Server:

*

Trước tiên, knhị báo nhị đổi mới nhằm tàng trữ tên thành phầm với niêm yết cùng một CURSOR để tàng trữ kết quả của truy tìm vấn rước thương hiệu sản phẩm và giá niêm yết trường đoản cú bảng production.products:

DECLARE
list_price DECIMAL;DECLARE cursor_sản phẩm CURSORFOR SELECT product_name, list_price FROM production.products;Tiếp theo, msống CURSOR:

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

FETCH NEXT FROM cursor_sản phẩm INTO
list_price; END;Sau đó, đóng CURSOR:

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

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

DECLARE
list_price DECIMAL;DECLARE cursor_sản phẩm 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à đầu ra một phần:

*

Trong thực tiễn, các bạn sẽ hi hữu Khi áp dụng CURSOR nhằm cách xử trí tập công dụng vì nó vô cùng lờ lững.

Trong phần này, bạn đang học cách sử dụng CURSOR vào Squốc lộ Server để giải pháp xử lý một tập tác dụng, các lần một bản ghi.

Còn nữa...

Xem thêm: Cách Thiết Kế Card Visit Bằng Photoshop Đơn Giản, Hướng Dẫn Thiết Kế Name Card Bằng Photoshop


Nếu vantaiduongviet.vn có ích với giúp đỡ bạn tiết kiệm ngân sách và chi phí thời hạn

Quý Khách có thể vui miệng tắt trình chặn lăng xê ❤️ nhằm cung cấp Cửa Hàng chúng tôi duy trì hoạt động vui chơi của website.

Leave a Reply

Your email address will not be published. Required fields are marked *

  • Các chất tham gia phản ứng tráng bạc

  • Cách viết gạch ngang trên đầu chữ

  • Truyện tranh đam mỹ có thịt có màu

  • Xem phim nhất bạn bị cấm chiếu

  • x

    Welcome Back!

    Login to your account below

    Retrieve your password

    Please enter your username or email address to reset your password.