Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách viết hàm lưu trữ MySQL chèn dữ liệu vào bảng


Tương tự như cập nhật, khi tạo hàm lưu trữ để chèn dữ liệu (INSERT), cách tiếp cận cũng giống với thủ tục lưu trữ vì hàm cần trả về một kết quả.

Ví dụ: Chèn điểm sinh viên mới

Tạo hàm lưu trữ tbl_insert để chèn giá trị vào bảng student_marks.

mysql> Create Function tbl_insert(S_name Varchar(50),M1 INT,M2 INT,M3 INT,M4 INT)
    -> RETURNS INT
    -> DETERMINISTIC
    -> BEGIN
    -> INSERT INTO student_marks values(S_name,M1,M2,M3,M4);
    -> RETURN 1;
    -> END//
Query OK, 0 rows affected (0.00 sec)

mysql> Select tbl_insert('Saurabh',85,79,65,71);
+------------------------------+
| tbl_insert('RR',58,25,65,32) |
+------------------------------+
|                            1 |
+------------------------------+
1 row in set (0.07 sec)

mysql> Select * from student_marks;
+---------+------+---------+---------+---------+
| Name    | Math | English | Science | History |
+---------+------+---------+---------+---------+
| Raman   |   95 |      89 |      85 |      81 |
| Rahul   |   90 |      87 |      86 |      81 |
| Mohit   |   90 |      85 |      86 |      81 |
| Saurabh |   85 |      79 |      65 |      71 |
+---------+------+---------+---------+---------+
4 rows in set (0.00 sec)

Chú ý: Kết quả hiển thị có sự khác biệt giữa tham số truyền vào ('Saurabh',85,79,65,71) và kết quả hiển thị ('RR',58,25,65,32) - đây có thể là lỗi in ấn trong ví dụ gốc. Trong thực tế, hàm sẽ chèn chính xác các giá trị bạn truyền vào.