반응형
절차를 "끊을" 방법이 있습니까?
일반 프로그래밍 언어에서는 특정 조건 하에서 루프를 이탈하거나 여러 개의 반환문을 가질 수 있습니다.
어떤 상태를 확인하거나 무슨 일이 발생했을 때 종료되는 절차를 작성하려면 어떻게 해야 합니까?
예:
CREATE PROCEDURE example(input INT)
BEGIN
IF (input < 10) THEN
SELECT MAX(example_row) FROM example table;
--end procedure here
END IF;
SELECT * FROM example_table LIMIT input;
END $$
이 예제 절차는 변경할 수 있으며 여러 IF 문을 사용할 수 있습니다.그런데 궁금한 게 있는데, 다른 방법으로 할 수 있을까요?
MariaDB 문서에서 이에 대한 내용을 찾을 수 없습니다.그것이 가능한가요, 아니면 항상 그것을 피할 방법을 찾아야 하나요?
지침을 사용할 수 있으며 설명서에 설명된 대로 다음과 같은 레이블만 지정하면 됩니다.BEGIN..END블록:
구문
LEAVE label[...]
LEAVE가장 바깥쪽을 참조할 수 있습니다.BEGIN ... END구성합니다. 이 경우 프로그램은 절차를 종료합니다.
[...]
다음 예제에서는 다음을 사용합니다.LEAVE조건이 참인 경우 절차를 종료합니다.CREATE PROCEDURE proc(IN p TINYINT) CONTAINS SQL `whole_proc`: BEGIN SELECT 1; IF p < 1 THEN LEAVE `whole_proc`; END IF; SELECT 2; END;
언급URL : https://stackoverflow.com/questions/65330472/is-there-any-way-to-break-out-of-procedure
반응형
'programing' 카테고리의 다른 글
| 데이터베이스 업그레이드 - 좋은 방법인가요, 나쁜 방법인가? (0) | 2023.07.13 |
|---|---|
| C#에서 이중을 가장 잘 나타내는 SQL 서버 데이터 유형은 무엇입니까? (0) | 2023.07.13 |
| v-for 루프의 요소에 클래스를 추가하는 중 (0) | 2023.07.08 |
| Mongoose는 항상 빈 배열 노드를 반환합니다.제이에스 (0) | 2023.07.08 |
| 다음으로 두 구성 요소 간에 데이터 전송 (0) | 2023.07.08 |