mariadb procedure 예제

프로시저의 특성을 설명하는 CREATE 프로시저 구문에는 몇 가지 절이 있습니다. 절은 괄호 후, 하지만 본문 앞에 온다. 이러한 절은 모두 선택 사항입니다. 다음은 절입니다 : MariaDB /MySQL 인터페이스가있는 언어로 작성된 프로그램 내에서 저장 프로시저를 호출하는 것에 대한 자세한 내용은 CALL을 참조하십시오. 시작… END 블록은 저장된 프로그램(예: 저장 프로시저, 함수, 트리거 및 이벤트) 내에서 두 개 이상의 문이 필요한 경우 와 같은 복합 문을 작성하는 데 사용됩니다. 구문은 다음과 같습니다 : 절차를 작성한 후 적용 버튼을 클릭하고 다음 화면이 올 것이다 : 왜 두 가지를 해결할 수 있을 때 하나의 문제를 해결? MySQL의 저장 절차 (sprocs)가 바지인 방법에 대해 많이 들었지만 직접 시도하지는 않았습니다. 그러던 어느 날, 친절한 DBA와 이야기를 나누던 중 그는 지금 사용해도 괜찮다고 말했습니다. 나는 주변에 물어 대부분의 개발자는 내가 그들을 사용하는 것에 대해 경고 이야기하지만 난 문제가 있었고 sprocs 우아한 솔루션처럼 보였다. 보안이 중요한 이유입니다. 은행은 일반적으로 응용 프로그램과 사용자가 테이블에 직접 액세스할 수 없도록 저장 프로시저를 사용합니다.

저장 프로시저는 여러 언어와 클라이언트가 모두 동일한 작업을 수행하는 데 사용되는 환경에서도 유용합니다. 프로시저를 만들기 전에 이 섹션에 설명된 몇 가지 정보가 필요합니다: 다음 절차에서는 사용자로부터 번호를 수락하는 IN 매개 변수 `var1`(형식 정수)을 사용했습니다. 프로시저의 본문에는 `jobs` 테이블에서 행을 가져오는 SELECT 문이 있으며 사용자가 제공하는 행 수가 있습니다. 절차는 다음과 같습니다 : IF EXISTS 절은 MySQL 확장입니다. 프로시저 또는 함수가 없는 경우 오류가 발생하지 않습니다. SHOW 경고로 볼 수 있는 경고가 생성됩니다. 다음은 MariaDB 데이터베이스에서 “CalcValue”라는 프로시저를 만듭니다. 짝수 숫자는 2로 균등하게 나눌 수 있는 숫자입니다. 다음 절차에서 사용자는 IN 매개 변수를 통해 숫자를 전달하고 1과 특정 숫자 사이의 짝수 수를 합합니다. 이 문은 저장 프로시저 또는 트리거에 사용되지 않습니다. LEAVE 문을 사용하여 이러한 유형의 저장된 프로그램을 종료할 수 있습니다.

네 번째 예에서 INOUT 매개 변수는 호출자에 의해 초기화되고 프로시저에 의해 수정될 수 있으며 프로시저가 반환될 때 프로시저에 의해 변경된 모든 변경 사항을 호출자에게 볼 수 있습니다. 프로시저에 대한 ALTER ROUTINE 권한이 있어야 합니다. 기본적으로 해당 권한은 프로시저 작성자에게 자동으로 부여됩니다. 이전 절차 “my_proc_WHILE”에서는 주석 섹션이 비어 있었습니다. 새 주석을 입력하거나 이전 주석을 수정하려면 다음 명령을 사용하여 : MariaDB에서 함수를 만드는 것처럼 프로시저를 만들 수 있습니다.

©2019 DemiJohn

Log in with your credentials

Forgot your details?