반응형
Notice
Recent Posts
Recent Comments
160x600
세상 모든 잡동사니 집합소 스레TV
[HANA] Statement Library 본문
728x90
반응형
SAP HANA의 Statement Library는 미리 정의된 SQL 문장(쿼리) 저장하고 재사용할 수 있도록 설계된 구조로, 특히 XSA(Application), HDI 개발, 그리고 Stored Procedure/Function 내에서 코드 재사용성과 유지 보수성을 높이기 위해 사용됩니다.
✅ 한 줄 정의
Statement Library는 SAP HANA HDI 환경에서 공통 SQL 문장을 저장하고, 다양한 위치에서 이를 호출해 사용할 수 있도록 하는 재사용 가능한 SQL 정의 파일(.hdbstatementlibrary)입니다.
🧱 기본 개념
항목설명
📄 파일 확장자 | .hdbstatementlibrary |
💬 저장 내용 | 이름이 부여된 SQL 문장 세트 (SELECT, INSERT, CALL 등) |
🔁 사용 목적 | 여러 프로시저/뷰/서비스에서 동일한 SQL을 호출해서 사용 |
📦 배포 위치 | HDI 컨테이너 내의 src/ 디렉토리에 위치 |
🔍 사용 방식 | 내부 프로시저/뷰 등에서 EXECUTE IMMEDIATE 또는 :statement_name 형식으로 사용 가능 |
🧪 예시
📄 my_statements.hdbstatementlibrary
{
"statements": {
"getAllCustomers": "SELECT * FROM customers",
"getCustomerById": "SELECT * FROM customers WHERE id = :customer_id"
}
}
"statements": {
"getAllCustomers": "SELECT * FROM customers",
"getCustomerById": "SELECT * FROM customers WHERE id = :customer_id"
}
}
📜 사용 예 (Stored Procedure 내)
CREATE PROCEDURE get_customer_by_id (IN customer_id INT)
LANGUAGE SQLSCRIPT
AS
BEGIN
DECLARE result TABLE (...);
result = EXECUTE IMMEDIATE :getCustomerById USING customer_id;
SELECT * FROM :result;
END;
LANGUAGE SQLSCRIPT
AS
BEGIN
DECLARE result TABLE (...);
result = EXECUTE IMMEDIATE :getCustomerById USING customer_id;
SELECT * FROM :result;
END;
- 여기서 getCustomerById는 statement library에 정의된 문장을 참조합니다.
- :customer_id는 호출 시 바인딩되는 파라미터입니다.
🔧 주요 특징
항목설명
📚 재사용성 | 여러 앱이나 모듈에서 동일 쿼리 참조 가능 (중앙 관리) |
🧩 유지보수 | 쿼리 변경 시 하나의 .hdbstatementlibrary만 수정하면 됨 |
⚠️ 오류 감소 | 반복되는 쿼리를 복사/붙여넣기보다 안전하게 관리 가능 |
👨💻 HDI 기반 필수 요소 | SAP HANA Cloud, SAP BTP의 개발 표준에 포함 |
🛠️ 개발 흐름
- .hdbstatementlibrary 파일 생성
- SQL 문장별 고유 이름 부여
- Stored Procedure, CDS, Calculation View 등에서 호출하여 사용
- 변경 시 컴파일 및 배포 (Web IDE or BAS)
✅ 요약 정리
항목내용
정의 | SAP HANA HDI에서 재사용 가능한 SQL 문장 모음을 정의하는 파일 |
목적 | SQL 문장의 중앙관리, 재사용, 유지보수성 향상 |
구성 | statements 키 아래에 이름-문장 쌍으로 정의 |
사용 위치 | Stored Procedure, Functions, 기타 HDI 객체 |
혜택 | 중복 제거, 유지보수 간소화, 버그 감소 |
Statement Library는 SAP HANA Cloud / BTP / XSA 개발 시 모듈화와 품질 향상을 위해 꼭 알아야 할 요소입니다.
300x250
반응형
'기술 > HANA DB' 카테고리의 다른 글
[HANA] HDI(HANA Deployment Infrastructure) (0) | 2025.06.23 |
---|---|
[공통 DB] DATA LAKE (0) | 2025.06.22 |
[HANA] Cockpit Administrator role && Cockpit User Administrator role (0) | 2025.06.21 |
[HANA] SAP HANA Hardware and Cloud Measurement Tool (0) | 2025.06.20 |
[HANA] Statistics Server (0) | 2025.06.19 |
[Hana] Troubleshoot Unresponsive System (1) | 2025.06.18 |
[HANA] Preprocessor server (0) | 2025.06.17 |
Comments