> 데이터 베이스 > MySQL 튜토리얼 > mysql 저장 프로시저란 무엇인가

mysql 저장 프로시저란 무엇인가

清浅
풀어 주다: 2019-05-11 16:14:41
원래의
4561명이 탐색했습니다.

MySQL의 저장 프로시저는 데이터베이스에 저장되어 있는 SQL 문들의 집합을 의미하며, 저장 프로시저가 생성되고 런타임 시 필요한 매개변수가 제공되면 해당 매개변수를 사용하여 저장 프로시저가 지정된 방식으로 실행될 수 있습니다. 코드를 작성하고 값을 반환합니다

MySQL에서 저장 프로시저를 생성하는 기능을 제공합니다. 저장 프로시저는 MySQL 및 기타 데이터베이스 관리 시스템의 강력한 기능입니다. 다음으로 본 글에서는 MySQL의 저장 프로시저에 대해 자세히 소개할 예정인데, 참고가 될 것이며 여러분에게 도움이 되기를 바랍니다.

mysql 저장 프로시저란 무엇인가

【추천 강좌: MySQL Tutorial

저장 프로시저:

저장 프로시저란 데이터베이스에 저장된 SQL 문들의 집합을 말합니다. 저장 프로시저는 뷰와 저장 프로시저를 구별하는 핵심 중 하나인 비즈니스 논리를 포함할 수 있습니다. 또한 저장 프로시저에서는 매개변수를 설정할 수도 있고, 저장 프로시저에서 명령문을 작성할 수도 있습니다.

저장 프로시저 작동 방식

먼저 저장 프로시저를 만든 다음 실행해야 합니다. 프로세스를 실행할 때 필요한 매개변수를 제공해야 하며, 그러면 코드에 지정된 방식으로 매개변수를 사용하여 저장 프로시저가 실행됩니다. 예를 들어 FruitId 매개변수를 허용하는 저장 프로시저를 작성해 보세요. 그러면 저장 프로시저가 해당 매개변수를 가져와 이를 사용하여 특정 과일의 재고를 확인할 수 있습니다. 따라서 저장 프로시저를 호출할 수 있습니다. 즉, 다른 과일 ID를 사용할 때마다 값을 반환하고 해당 재고에 과일이 몇 개 있는지 표시합니다.

저장 프로시저 만들기

CREATE PROCEDURE 문을 통해 저장 프로시저를 만들 수 있습니다.

CREATE PROCEDURE demo_name(p_1 INT)
BEGIN
  ...code goes here...
END;
로그인 후 복사

demo_name은 저장 프로시저의 이름을 나타냅니다. 매개 변수가 포함되어 있지 않으면 대괄호를 사용할 수 있습니다. beempt

저장 프로시저 본문은 BEGIN과 END 키워드 사이에 있습니다. 이 키워드는 복합문을 작성하는 데 사용됩니다. 복합 명령문에는 여러 명령문이 포함될 수 있으며 필요한 경우 중첩될 수 있습니다.

예: FruitStock이라는 저장 프로시저 만들기:

DELIMITER //

CREATE PROCEDURE FruitStock(thisFruit SMALLINT)
BEGIN
	SELECT 
		Fruit.FruitName, 
		Fruit.Inventory, 
		Units.UnitName
	FROM 
		Fruit INNER JOIN Units ON
		Fruit.UnitId = Units.UnitId
	WHERE 
		Fruit.FruitId = thisFruit;
END //

DELIMITER ;
로그인 후 복사

저장 프로시저를 만든 후 다음으로 이 저장 프로시저가 호출됩니다.

1

CALL FruitStock(1);
로그인 후 복사

매개변수로 ID를 호출하면 저장 프로시저를 삭제

할 수 있습니다. 사용됨 DROP PROCEDURE 문은 저장 프로시저를 삭제합니다.

DROP PROCEDURE FruitStock;
로그인 후 복사

저장 프로시저 변경

저장 프로시저에서는 다음 문을 통해 저장 프로시저 ALTER PROCEDURE를 변경할 수 있습니다.

저장 프로시저의 본문이나 해당 매개변수를 변경하려면 프로세스를 삭제하고 다시 만들어야 한다는 점에 유의해야 합니다.

예: Fruit.FruitId에서 반환할 목록을 추가하세요

DROP PROCEDURE IF EXISTS FruitStock;
DELIMITER //
CREATE PROCEDURE FruitStock(thisFruit SMALLINT)
BEGIN
	SELECT 
		Fruit.FruitId, 
		Fruit.FruitName, 
		Fruit.Inventory, 
		Units.UnitName
	FROM 
		Fruit INNER JOIN Units ON
		Fruit.UnitId = Units.UnitId
	WHERE 
		Fruit.FruitId = thisFruit;
END //

DELIMITER ;
로그인 후 복사

요약: 위 내용은 이 글의 전체 내용입니다. 모두에게 도움이 되기를 바랍니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿