>  기사  >  데이터 베이스  >  mysql 저장 프로시저 명령문

mysql 저장 프로시저 명령문

PHPz
PHPz원래의
2023-05-23 09:02:36606검색

MySQL은 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. 저장 프로시저는 MySQL에서 실행할 수 있는 미리 컴파일된 SQL 문의 모음입니다. 저장 프로시저 문은 저장 프로시저를 만들고 정의하는 데 사용되는 문입니다.

MySQL 저장 프로시저 문은 데이터베이스 서버에 대한 부담을 크게 줄이고 애플리케이션의 효율성을 향상시킬 수 있습니다. 이를 통해 개발자는 일반적으로 사용되는 일부 명령과 작업을 단일 개체에 캡슐화하여 필요할 때 쉽게 호출할 수 있습니다.

MySQL 저장 프로시저 문에 대해 자세히 살펴보겠습니다.

저장 프로시저 만들기

저장 프로시저를 만들려면 CREATE PROCEDURE 명령을 사용해야 합니다. 이 명령에는 저장 프로시저의 이름, 입력 매개변수, 출력 매개변수 및 프로시저 본문이 포함됩니다. 구문은 다음과 같습니다. CREATE PROCEDURE 命令。这个命令包括存储过程的名称、输入参数、输出参数以及过程体。语法如下:

CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type,
    [IN | OUT | INOUT] parameter_name data_type, ...)
BEGIN
    -- 过程体
END;

其中,procedure_name 是自定义的用于标识存储过程的名称,parameter_name 是输入、输出或输入/输出参数的名称,data_type 是参数的数据类型。这些参数的前缀可以用于指定参数是输入、输出还是输入/输出参数。

下面是一个简单的例子:

CREATE PROCEDURE HelloWorld (IN `name` VARCHAR(20))
BEGIN
    SELECT CONCAT('Hello, ', `name`);
END;

调用存储过程

一旦创建了存储过程,就可以使用 CALL 命令来调用它。基本语法如下:

CALL procedure_name([parameter_value, parameter_value, ...]);

其中,procedure_name 是要调用的存储过程的名称,parameter_value 是要传递给存储过程的参数。如果存储过程有输出参数,可以使用 SELECT 语句来返回结果。

下面是一个简单的例子:

CALL HelloWorld('Alice');

修改存储过程

如果需要更新存储过程的主体或参数,可以使用 ALTER PROCEDURE 命令。基本语法如下:

ALTER PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type,
    [IN | OUT | INOUT] parameter_name data_type, ...)
BEGIN
    -- 过程体
END;

这个语法与 CREATE PROCEDURE 命令非常相似,唯一的区别是在使用 ALTER PROCEDURE 命令时不需要指定存储过程名称。

下面是一个简单的例子:

ALTER PROCEDURE HelloWorld (IN `new_name` VARCHAR(20))
BEGIN
    SELECT CONCAT('Hello, ', `new_name`);
END;

删除存储过程

如果不再需要存储过程,可以使用 DROP PROCEDURE 命令来删除它。基本语法如下:

DROP PROCEDURE procedure_name;

其中,procedure_name

DROP PROCEDURE HelloWorld;

여기서, procedure_name은 저장 프로시저를 식별하는 데 사용되는 사용자 정의 이름이고, parameter_name은 입력, 출력 또는 입력/출력의 이름입니다. 매개변수에서 data_type은 매개변수의 데이터 유형입니다. 이러한 매개변수의 접두어를 사용하여 매개변수가 입력, 출력 또는 입/출력 매개변수인지 여부를 지정할 수 있습니다.

다음은 간단한 예입니다.

rrreee

저장 프로시저 호출

저장 프로시저가 생성되면 CALL 명령을 사용하여 호출할 수 있습니다. 기본 구문은 다음과 같습니다. 🎜rrreee🎜 여기서 procedure_name은 호출할 저장 프로시저의 이름이고 parameter_value는 저장 프로시저에 전달할 매개 변수입니다. . 저장 프로시저에 출력 매개변수가 있는 경우 SELECT 문을 사용하여 결과를 반환할 수 있습니다. 🎜🎜다음은 간단한 예입니다. 🎜rrreee🎜저장 프로시저 수정🎜🎜저장 프로시저의 본문이나 매개변수를 업데이트해야 하는 경우 ALTER PROCEDURE 명령을 사용할 수 있습니다. 기본 구문은 다음과 같습니다. 🎜rrreee🎜이 구문은 CREATE PROCEDURE 명령과 매우 유사합니다. 유일한 차이점은 ALTER를 사용할 때 저장 프로시저 이름을 지정할 필요가 없다는 것입니다. PROCEDURE 명령. 🎜🎜다음은 간단한 예입니다. 🎜rrreee🎜저장 프로시저 삭제🎜🎜저장 프로시저가 더 이상 필요하지 않으면 DROP PROCEDURE 명령을 사용하여 삭제할 수 있습니다. 기본 구문은 다음과 같습니다. 🎜rrreee🎜여기서, procedure_name은 삭제할 저장 프로시저의 이름입니다. 🎜🎜다음은 간단한 예입니다. 🎜rrreee🎜요약🎜🎜MySQL 저장 프로시저 문을 사용하면 필요할 때 쉽게 호출할 수 있는 미리 정의된 SQL 문 집합이 포함된 저장 프로시저를 만들 수 있습니다. 저장 프로시저는 애플리케이션의 효율성을 향상시키고 서버의 로드를 줄일 수 있습니다. 이 문서에서는 저장 프로시저를 생성, 호출, 수정 및 삭제하기 위한 기본 구문과 예제를 제공합니다. 이러한 명령은 필요에 따라 MySQL 데이터베이스에서 사용할 수 있습니다. 🎜

위 내용은 mysql 저장 프로시저 명령문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.