programing

절차를 "끊을" 방법이 있습니까?

sourcejob 2023. 7. 8. 10:51
반응형

절차를 "끊을" 방법이 있습니까?

일반 프로그래밍 언어에서는 특정 조건 하에서 루프를 이탈하거나 여러 개의 반환문을 가질 수 있습니다.

어떤 상태를 확인하거나 무슨 일이 발생했을 때 종료되는 절차를 작성하려면 어떻게 해야 합니까?

예:

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

반응형