>  기사  >  데이터 베이스  >  저장 프로시저란 무엇이며 MySQL 저장 프로시저를 어떻게 생성합니까?

저장 프로시저란 무엇이며 MySQL 저장 프로시저를 어떻게 생성합니까?

WBOY
WBOY앞으로
2023-08-24 18:09:021038검색

저장 프로시저란 무엇이며 MySQL 저장 프로시저를 어떻게 생성합니까?

일반 컴퓨팅 언어의 맥락에서 저장 프로시저는 데이터베이스에 저장된 서브루틴과 유사한 서브루틴으로 정의할 수 있습니다. MySQL의 맥락에서 이는 데이터베이스 디렉터리에 저장된 선언적 SQL 문입니다. MySQL에서 저장 프로시저를 작성하기 전에 MySQL 5에서 저장 프로시저를 도입했기 때문에 버전을 확인해야 합니다. 다음은 저장 프로시저를 생성하는 구문입니다:

Syntax

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

Example

다음은 다음 데이터를 포함하는 '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)

Now , 다음 쿼리를 사용하여 allrecords()

mysql> Delimiter //
mysql> Create Procedure allrecords()
    -> BEGIN
    -> Select * from Student_info;
    -> END//
Query OK, 0 rows affected (0.02 sec)
mysql> DELIMITER ;
라는 저장 프로시저를 만들었습니다.

위 내용은 저장 프로시저란 무엇이며 MySQL 저장 프로시저를 어떻게 생성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제