Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ขั้นตอนการจัดเก็บคืออะไรและเราจะสร้างขั้นตอนการจัดเก็บ MySQL ได้อย่างไร


กระบวนงานที่เก็บไว้ ในบริบทของภาษาคอมพิวเตอร์ทั่วไป อาจถูกกำหนดเป็นรูทีนย่อยเหมือนกับโปรแกรมย่อยที่จัดเก็บไว้ในฐานข้อมูล ในบริบทของ MySQL เป็นส่วนของคำสั่ง SQL แบบประกาศที่จัดเก็บไว้ในแค็ตตาล็อกฐานข้อมูล ก่อนที่จะเขียนกระบวนงานที่เก็บไว้ใน MySQL เราต้องตรวจสอบเวอร์ชันก่อนเพราะ MySQL 5 แนะนำกระบวนงานที่เก็บไว้ ต่อไปนี้เป็นไวยากรณ์สำหรับการสร้างกระบวนงานที่เก็บไว้ -

ไวยากรณ์

CREATE [DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter: [ IN | OUT | INOUT ] param_name type
type:
Any valid MySQL data type
characteristic:
COMMENT 'string'
| LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA
| MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
routine_body:
Valid SQL routine statement

ตัวอย่าง

ต่อไปนี้คือตัวอย่างที่เราได้สร้างขั้นตอนง่ายๆ เพื่อรับบันทึกทั้งหมดจากตาราง 'student_info' ซึ่งมีข้อมูลดังต่อไปนี้ -

mysql> select * from student_info;
+-----+---------+------------+------------+
| id  | Name    | Address    | Subject    |
+-----+---------+------------+------------+
| 100 | Aarav   | Delhi      | Computers  |
| 101 | YashPal | Amritsar   | History    |
| 105 | Gaurav  | Jaipur     | Literature |
| 110 | Rahul   | Chandigarh | History    |
+------+--------+------------+------------+
4 rows in set (0.00 sec)

ตอนนี้ ด้วยความช่วยเหลือของแบบสอบถามต่อไปนี้ เราได้สร้างกระบวนงานที่เก็บไว้ชื่อ allrecords()

mysql> Delimiter //
mysql> Create Procedure allrecords()
    -> BEGIN
    -> Select * from Student_info;
    -> END//
Query OK, 0 rows affected (0.02 sec)
mysql> DELIMITER ;