SQL에서 저장 프로 시저를 만드는 방법은 무엇입니까?



SQL의 프로 시저에 대한이 기사는 프로 시저가 무엇인지, 구현시 데이터베이스의 성능을 어떻게 향상시키는 지 이해하는 데 도움이됩니다.

절차는 생성 및 저장 될 수있는 하위 프로그램입니다. 데이터베이스 개체로. 다른 언어에서와 마찬가지로 프로 시저를 생성하고 삭제할 수 있습니다. SQL 게다가. 이 기사에서는 구문과 예제를 사용하여 SQL의 절차를 살펴 보겠습니다.

이 기사에서 논의되는 주제는 다음과 같습니다.





SQL의 프로시 저는 무엇입니까?

절차 (종종 저장 프로 시저라고 함),응용 프로그램의 특정 비즈니스 논리를 캡슐화하는 재사용 가능한 단위입니다. SQL 프로시 저는 특정 작업을 수행하기 위해 함께 컴파일 및 저장되는 SQL 문 및 논리 그룹입니다.

SQL 프로 시저-SQL의 프로 시저-Edureka



다음은 SQL 프로 시저의 주요 기능입니다.

  • 그들은 매우 간단한 사용하기 때문에 구현하기 쉽습니다높은 수준의 강력한 형식 언어
  • 세 가지 유형의 매개 변수를 지원합니다.입력, 출력 및 입력-출력 매개 변수.
  • 동급 제품보다 더 안정적외부 절차.
  • SQL 프로시 저는 재사용 성과 유지 보수성을 촉진합니다.
  • 간단하지만 강력한 조건 및 오류 처리 모델을 지원합니다.
  • 호출 프로 시저 또는 배치에 상태 값을 반환하여 성공 또는 실패와 실패 이유를 나타냅니다.

이제 프로 시저가 무엇이고 왜 필요한지 알았으니 SQL에서 프로 시저의 구문과 예를 살펴 보겠습니다.

SQL의 프로 시저 구문

다음은 SQL에서 프로 시저를 생성하는 기본 구문을 보여줍니다.



Linux 관리자 역할 및 책임
CREATE [OR REPLACE] PROCEDURE procedure_name [(parameter_name [IN | OUT | IN OUT] type [])] IS BEGIN [declaration_section] executable_section // 저장 프로 시저에서 사용되는 SQL 문 END GO

구문 용어

매개 변수

매개 변수는 임의의 값을 보유하는 변수입니다.서브 프로그램이 기본 코드와 값을 교환 할 수있는 유효한 SQL 데이터 유형입니다. 즉, parameter는 절차에 값을 전달하는 데 사용됩니다. 다음과 같은 세 가지 유형의 매개 변수가 있습니다.

  • : This는 항상 호출 프로그램에서 값을 수신하는 기본 매개 변수입니다. 서브 프로그램 내에서 읽기 전용 변수이며 그 값은 서브 프로그램 내에서 변경할 수 없습니다.
  • 밖: 그것은서브 프로그램에서 출력을 얻는 데 사용됩니다.
  • 밖으로 :매개 변수는 입력을 제공하고 서브 프로그램에서 출력을 얻는 데 사용됩니다.

기타 용어

  • 절차 명 프로 시저의 이름을 지정합니다. 고유해야합니다.
  • [OR REPLACE] 옵션을 사용하면 기존 프로 시저를 수정할 수 있습니다.
  • IS | AS 절, 그들은저장 프로 시저를 실행할 컨텍스트입니다.차이점은 'IS'키워드는 프로 시저가 다른 블록에 중첩 될 때 사용되고 프로 시저가 독립형이면 'AS'가 사용된다는 것입니다.
  • Code_Block은 저장 프로 시저 내의 모든 처리를 처리하는 절차 문을 선언합니다. code_block의 내용은에서 사용하는 규칙 및 절차 언어에 따라 다릅니다. 데이터 베이스 .

SQL에서의 절차 : 예

예 1

다음 예제는 실행시 화면에 환영 메시지를 표시하는 간단한 프로 시저를 작성합니다. 그런 다음 절차는 다음과 같습니다.

생성 또는 교체 절차 welcome_msg (para1_name IN VARCHAR2)는 BEGIN dbms_output.put_line (‘Hello World! '|| para1_name) END /

저장 프로 시저를 실행합니다. 독립형 프로시 저는 두 가지 방법으로 호출 할 수 있습니다.

  • 사용 실행 예어
  • SQL 블록에서 프로 시저 이름 호출

위의 절차는 다음과 같이 Execute 키워드를 사용하여 호출 할 수 있습니다.

EXEC welcome_msg (‘Edureka에 오신 것을 환영합니다!’)

산출

안녕하세요! Edureka에 오신 것을 환영합니다

절차가 실행되고 메시지가“Hello World! Edureka에 오신 것을 환영합니다.”

예 2

EmployeId, Firstname, Lastname 및 DepartmentDetails와 같은 Emplyoee 세부 정보가있는 테이블이 있다고 가정 해 보겠습니다.

이 예에서는 다음과 같은 경우 직원 이름을 반환하는 SQL 프로 시저를 만듭니다. EmployeId 저장 프로 시저에 대한 입력 매개 변수로 제공됩니다. 그런 다음 절차는 다음과 같습니다.

생성 PROCEDURE GetStudentName (@employeeID INT, --Input parameter, employee of the employee @employeName VARCHAR (50) OUT --Output parameter, employeeName of employee AS BEGIN SELECT @ employeName = Firstname + ''+ Lastname FROM Employee_Table WHERE EmployeId = @ employeID 종료

실행 단계 :

  • @employeName을 nvarchar (50)로 선언
  • EXEC GetStudentName 01, @employeName 출력
  • @employeName 선택

직원 ID를 입력으로 제공하는 위의 절차는 특정 직원의 이름을 반환합니다. 출력 매개 변수 t가 있다고 가정합니다.먼저 출력 값을 수집하기 위해 변수를 선언해야합니다.이제 SQL에서 프로 시저의 장점을 살펴 보겠습니다.

SQL에서 프로 시저의 장점

SQL에서 저장 프로 시저의 주요 목적은 직접 숨기는 것입니다. SQL 쿼리 코드에서 데이터 선택, 업데이트 및 삭제와 같은 데이터베이스 작업의 성능을 향상시킵니다. SQL에서 프로 시저의 다른 장점은 다음과 같습니다.

  • 데이터베이스 서버로 전송되는 정보의 양을 줄입니다. 네트워크 대역폭이 적을 때 더 중요한 이점이 될 수 있습니다.
  • 코드 재사용 가능
  • 저장 프로 시저에서 사용되는 테이블에 대한 권한을 부여하는 대신 저장 프로 시저를 실행할 수있는 권한을 사용자에게 부여 할 수 있으므로 보안이 강화됩니다.
  • 다른 언어로 구현 된 다른 SQL 프로 시저 또는 프로 시저에 대한 중첩 프로 시저 호출을 지원합니다.

결론적으로 SQL의 프로 시저 (스토어드 프로 시저)코드 재사용 가능성을 높일뿐만 아니라 데이터베이스 성능도 향상시킵니다. 어떻게? 네트워크를 통해 전송되는 정보의 양을 줄여 네트워크 트래픽을 줄입니다. 이것으로 우리는이 기사의 끝까지 왔습니다.

더 자세히 알고 싶다면 MySQL 이 오픈 소스 관계형 데이터베이스에 대해 알아보고 강사 주도의 라이브 교육 및 실제 프로젝트 경험과 함께 제공됩니다. 이 교육은 MySQL을 심층적으로 이해하고 주제에 대한 숙달을 달성하는 데 도움이됩니다.

질문이 있으십니까? 이 'SQL의 절차'기사의 주석 섹션에 언급 해 주시면 다시 연락 드리겠습니다.