Stored procedure là gì, giới thiệu stored procedure trong sql server

      149

*
a);

Môi ngôi trường thực nghiệm

Windows 10MySquốc lộ Community 5MySQL Workbench 6

Tạo dữ liệu mẫu

Tạo database & những bảngCREATE DATABASE IF NOT EXISTS procedure_example DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;USE procedure_example;CREATE TABLE IF NOT EXISTS san_pđam mê ( id int(10) NOT NULL AUTO_INCREMENT, ten varchar(255) NOT NULL UNIQUE, gia int(10) NOT NULL, mo_ta mediumtext, created_at timestamp DEFAULT NOW() NOT NULL, updated_at timestamp DEFAULT NOW() NOT NULL ON UPDATE NOW(), PRIMARY KEY (id));describe procedure_example.san_pham;Mô hình đại lý dữ liệu demo nghiệm
*
*
Tạo Stored Procedure để đếm tổng cộng sản phẩm vào bảng san_phamUSE procedure_example;/** COUNT PRODUCTS **/DROPhường. PROCEDURE IF EXISTS count_products;delimiter //CREATE PROCEDURE count_products (OUT param1 INT) BEGIN SELECT COUNT(*) INTO param1 FROM san_pham; END//delimiter ;Trong đoạn code bên trên, sử dụng lệnh delimiter nhằm hướng dẫn và chỉ định kí từ xong xuôi mang đến đoạn lệnh Squốc lộ. Mặc định, kí từ bỏ chnóng phẩy ; được dùng để chỉ thị bài toán câu lệnh SQL đang ngừng.

Trong đoạn lệnh SQL trên, nhằm sử dụng những câu lệnh Squốc lộ khác biệt vào phần thân của Stored Procedure, thực hiện vết chấm phẩy ; để phân bóc những câu lệnh lẻ tẻ. Do đó, áp dụng kí trường đoản cú // nhằm báo mang đến MySquốc lộ biết rằng phần knhì báo đến Stored Procedure chỉ kết thúc Lúc chạm mặt kí từ bỏ này, với câu lệnh delimiter được sử dụng để chỉ định vấn đề đó.

Kiểm tra kết quả Stored Procedure count_products:

CALL count_products(
a;Kết đúng như sau:

*
Tạo Stored Procedure tìm kiếm tìm sản phẩm theo id được truyền vào

USE procedure_example;/** FIND PRODUCT BY ID **/DROP PROCEDURE IF EXISTS find_product;delimiter //CREATE PROCEDURE find_product (IN param1 INT) BEGIN DROPhường TEMPORARY TABLE IF EXISTS tmp_find_product; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_find_hàng hóa AS (SELECT * FROM san_pđắm đuối WHERE id=param1); SELECT * FROM tmp_find_product; END//delimiter ;Kiểm tra hiệu quả Stored Procedure find_productsCALL find_product(8);Kết quả như sau:

*