Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- lambda
- select_type
- jwt
- redis
- Spring
- jpa
- StringBuilder
- cache
- docker
- AOP
- java
- 테스트 코드
- static
- 생성자 주입
- stream
- 바이너리 카운팅
- hashcode
- Test
- 열 속성
- 필드 주입
- KEVISS
- MSA
- 재정의
- 인덱스
- equals
- DI
- DDL
- SQL
- VUE
- 조합
Archives
- Today
- Total
백엔드 개발자 블로그
MySQL procedure 본문
1. 저장 프로시저 생성
저장 프로시저는 `CREATE PROCEDURE` 문을 사용해 생성됩니다.
기본 문법:
sql코드 복사CREATE PROCEDURE 프로시저이름([매개변수])
BEGIN
-- SQL 문들
END;
- `프로시저이름`: 저장 프로시저의 이름.
- `[매개변수]`: 저장 프로시저에 전달할 입력값, 출력값 등을 정의.
- `BEGIN ... END`: 실행할 SQL 블록을 묶음.
2. 매개변수
저장 프로시저는 매개변수를 사용할 수 있습니다:
- **IN**: 호출 시 값을 입력받아 사용.
- **OUT**: 프로시저 실행 후 값을 반환.
- **INOUT**: 입력과 출력으로 모두 사용.
예시:
sql코드 복사CREATE PROCEDURE ExampleProcedure(IN name VARCHAR(50), OUT count INT)
BEGIN
SELECT COUNT(*) INTO count
FROM Users
WHERE username = name;
END;
3. 호출 방법
저장 프로시저는 `CALL` 문을 사용해 실행합니다.
예시:
sql코드 복사CALL ExampleProcedure('Alice', @user_count);
SELECT @user_count; -- OUT 매개변수 값 확인
4. DELIMITER 사용
MySQL에서는 기본 명령 구분자가 `;`입니다. 하지만 저장 프로시저를 만들 때는 명령 구분자를 변경해야 합니다.
이유:
- 저장 프로시저 내부에 여러 개의 SQL 문이 포함될 수 있기 때문.
사용 방법:
DELIMITER //
CREATE PROCEDURE MyProcedure()
BEGIN
SELECT 'Hello, World!';
END //
DELIMITER ;
5. 삭제 방법
저장 프로시저를 삭제하려면 `DROP PROCEDURE` 문을 사용합니다.
예시:
DROP PROCEDURE IF EXISTS MyProcedure;
6. 주의 사항
- 저장 프로시저 이름은 고유해야 합니다.
- 저장 프로시저 내부에서 실행할 SQL 문은 MySQL이 지원하는 모든 문법을 사용할 수 있습니다.
- 권한 문제가 발생할 수 있으니, 프로시저를 생성하거나 실행하려면 적절한 권한이 필요합니다.
'SSAFY > 계절학기' 카테고리의 다른 글
MySQL Event Scheduler (0) | 2024.12.24 |
---|