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로 생성됩니다. |