Tạo Stored Procedure INSERT dữ liệu trong MySQL
Stored Procedure đóng gói logic INSERT, chấp nhận tham số đầu vào (IN), giúp tái sử dụng và bảo mật.
Cú pháp tạo procedure
DELIMITER //
CREATE PROCEDURE procedure_name(IN param1 TYPE, IN param2 TYPE, ...)
BEGIN
INSERT INTO table_name (col1, col2, ...) VALUES (param1, param2, ...);
END //
DELIMITER ;
Ví dụ hoàn chỉnh
1. Tạo bảng:
mysql> CREATE TABLE insertDataUsingStoredProcedure (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name VARCHAR(20),
-> Age INT
-> );
2. Tạo Stored Procedure:
mysql> DELIMITER //
mysql> CREATE PROCEDURE StoredProcedureInsertData(
-> IN StudentName VARCHAR(100),
-> IN StudentAge INT
-> )
-> BEGIN
-> INSERT INTO insertDataUsingStoredProcedure(Name, Age) VALUES (StudentName, StudentAge);
-> END
-> //
Query OK, 0 rows affected (0.13 sec)
mysql> DELIMITER ;
3. Gọi Procedure:
mysql> CALL StoredProcedureInsertData('Chris', 24);
Query OK, 1 row affected (0.18 sec)
4. Kiểm tra:
mysql> SELECT * FROM insertDataUsingStoredProcedure;
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | Chris | 24 | +----+-------+------+
Các loại tham số
| Loại | Từ khóa | Mô tả |
|---|---|---|
| Input | IN | Truyền giá trị vào (mặc định) |
| Output | OUT | Trả về giá trị ra |
| In/Out | INOUT | Cả vào và ra |