27장 저장된 객체
목차
27.5 이벤트 스케줄러 상태
27.6 이벤트 스케줄러와 MySQL 권한
27.7 뷰 사용하는 방법
27.7.1 뷰 구문
27.7.2 뷰 처리 알고리즘
27.7.3 업데이트 가능하고 삽입 가능한 뷰
27.7.4 뷰 WITH CHECK OPTION 절
27.7.5 뷰 메타데이터
27.8 저장된 객체의 접근 제어
27.9 저장된 프로그램의 이진 로깅
27.10 저장된 프로그램의 제한
27.11 뷰에 대한 제한
이 장에서는 서버에 저장된 SQL 코드로 정의된 저장된 데이터베이스 객체에 대해 논의합니다. 저장된 객체에는 다음의 객체 유형이 포함됩니다:
SQL의 저장된 객체
저장 프로시저
CREATE PROCEDURE로 생성되고 CALL 문을 사용하여 호출되는 객체입니다. 프로시저는 반환 값이 없지만 호출자가 나중에 검사할 수 있도록 매개변수를 수정할 수 있습니다. 또한 클라이언트 프로그램에 반환될 결과 집합을 생성할 수 있습니다.
저장 함수
CREATE FUNCTION로 생성된 객체로, 내장 함수처럼 사용됩니다. 표현식에서 호출하며, 표현식 평가 중에 값을 반환합니다.
트리거
CREATE TRIGGER로 생성된 객체로, 테이블과 연관되어 있습니다. 트리거는 테이블에 대해 특정 이벤트가 발생할 때 활성화됩니다. 예를 들어, 삽입 또는 업데이트와 같은 이벤트입니다.
이벤트
CREATE EVENT로 생성된 객체로, 서버에 의해 일정에 따라 호출됩니다.
뷰
CREATE VIEW로 생성된 객체로, 참조될 때 결과 집합을 생성합니다. 뷰는 가상 테이블처럼 작용합니다.
용어
이 문서에서 사용되는 용어는 저장된 객체의 계층을 반영합니다:
- 저장된 루틴은 저장 프로시저와 함수를 포함합니다.
- 저장된 프로그램은 저장된 루틴, 트리거 및 이벤트를 포함합니다.
- 저장된 객체는 저장된 프로그램과 뷰를 포함합니다.
이 장에서는 저장된 객체의 사용 방법을 설명합니다. 다음 섹션에서는 이러한 객체와 관련된 문에 대한 SQL 구문 및 객체 처리에 대한 추가 정보를 제공합니다. 각 객체 유형에 대해 CREATE, ALTER 및 DROP 문이 있으며, 이는 어떤 객체가 존재하는지와 어떻게 정의되는지를 제어합니다. 섹션 15.1, “데이터 정의 문” 참조.
CALL 문은 저장 프로시저를 호출하는 데 사용됩니다. 섹션 15.2.1, “CALL 문” 참조.
저장 프로그램 정의에는 복합 문, 루프, 조건문 및 선언된 변수를 사용할 수 있는 내용이 포함됩니다. 섹션 15.6, “복합 문법” 참조.
저장 프로그램에서 참조하는 객체의 메타데이터 변경 사항은 감지되며, 프로그램이 다음에 실행될 때 영향을 받는 문을 자동으로 다시 파싱합니다. 자세한 내용은 섹션 10.10.3, “준비된 문 및 저장 프로그램의 캐싱” 참조.