SAP HANA SQL 저장 프로시저 튜토리얼

SQL 저장 프로시저란 무엇입니까?

프로시저는 특정 작업을 수행하는 단위/모듈입니다. 이 절차를 결합하여 더 큰 프로그램을 만들 수 있습니다. 이는 기본적으로 '모듈형 디자인'을 형성합니다. 프로시저는 호출 프로그램이라고 하는 다른 프로시저에 의해 호출될 수 있습니다.

프로시저는 특정 데이터 변환 순서를 사용하여 재사용 가능한 처리 블록입니다. 프로시저에는 다중 입력/출력 매개변수가 있을 수 있습니다. 프로시저는 읽기 전용 또는 읽기-쓰기로 생성될 수 있습니다.

An SQL 프로시저는 –에서 생성될 수 있습니다.

  • 스키마 수준(카탈로그 노드)
  • 패키지 수준(컨텐츠 노드)

저장 프로시저 구문 SAP HANA 아래 그림과 같습니다 -

통사론

CREATE PROCEDURE <proc_name> [(<parameter_clause>)] [LANGUAGE <lang>]    
        [SQL SECURITY <mode>] [DEFAULT SCHEMA <default_schema_name>]
        [READS SQL DATA [WITH RESULT VIEW <view_name>]] AS
        {BEGIN [SEQUENTIAL EXECUTION]
				<procedure_body>			
        END        
        | HEADER ONLY }

CREATE PROCEDURE 문은 멘션 프로그래밍 언어를 사용하여 프로시저를 생성합니다. .

구문 요소

집단 기술
프로시저 이름
매개변수는 여기에서 정의됩니다. IN, OUT, INOUT 매개변수가 있습니다. 각 매개변수는 IN/OUT/INOUT 키워드를 사용하여 표시됩니다.

• IN – 값을 INPUT으로 전달하는 데 사용됩니다. 읽기 전용 매개변수입니다.

• OUT – 프로시저의 반환 값에 OUTPUT으로 사용됩니다.

• INOUT – 동일한 매개변수를 사용하여 Pass 및 Return Value To Procedure에 사용됩니다.

언어 절차에 사용되는 프로그래밍 언어를 정의합니다. 기본값: SQLSCRIPT
SQL 보안 프로시저의 보안 모드를 지정합니다. 기본값: 정의자

• DEFINER – 프로시저 정의자의 ​​권한으로 프로시저의 실행을 수행하도록 지정한다.

• INVOKER – 프로시저 호출자의 권한으로 프로시저의 실행을 수행하도록 지정한다.

프로시저 본문에서 규정되지 않은 개체에 대한 스키마를 정의합니다. 아무것도 정의되지 않은 경우 세션의 현재 스키마가 프로시저에 사용됩니다.
SQL 데이터 읽기 이는 프로시저를 읽기 전용으로 표시합니다. 이는 프로시저가 데이터베이스 데이터나 해당 구조를 수정하지 않으며 프로시저에 DDL 또는 DML 문이 포함되어 있지 않음을 의미합니다. 이 프로시저는 다른 읽기 전용 프로시저만 호출합니다.
결과 보기 포함 읽기 전용 프로시저의 출력으로 사용할 결과 보기를 정의합니다.
프로시저에 대해 결과 보기가 지정된 경우 이를 호출할 수 있습니다. SQL 테이블이나 뷰와 동일한 프로세스의 명령문입니다.
순차적 실행 이 문은 프로시저 논리의 순차적 실행을 강제합니다. 병렬 처리가 발생하지 않습니다.
선택한 프로그래밍 언어를 기반으로 절차의 본문을 정의합니다.
헤더만 Header Only를 사용하면 프로시저 속성만 OID로 생성됩니다.