관리 메뉴

세상 모든 잡동사니 집합소 스레TV

[HANA] Statement Library 본문

기술/HANA DB

[HANA] Statement Library

스레TV 2025. 6. 24. 16:54
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"
  }
}

📜 사용 예 (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;
  • 여기서 getCustomerById는 statement library에 정의된 문장을 참조합니다.
  • :customer_id는 호출 시 바인딩되는 파라미터입니다.

🔧 주요 특징

항목설명
📚 재사용성 여러 앱이나 모듈에서 동일 쿼리 참조 가능 (중앙 관리)
🧩 유지보수 쿼리 변경 시 하나의 .hdbstatementlibrary만 수정하면 됨
⚠️ 오류 감소 반복되는 쿼리를 복사/붙여넣기보다 안전하게 관리 가능
👨‍💻 HDI 기반 필수 요소 SAP HANA Cloud, SAP BTP의 개발 표준에 포함
 

🛠️ 개발 흐름

  1. .hdbstatementlibrary 파일 생성
  2. SQL 문장별 고유 이름 부여
  3. Stored Procedure, CDS, Calculation View 등에서 호출하여 사용
  4. 변경 시 컴파일 및 배포 (Web IDE or BAS)

✅ 요약 정리

항목내용
정의 SAP HANA HDI에서 재사용 가능한 SQL 문장 모음을 정의하는 파일
목적 SQL 문장의 중앙관리, 재사용, 유지보수성 향상
구성 statements 키 아래에 이름-문장 쌍으로 정의
사용 위치 Stored Procedure, Functions, 기타 HDI 객체
혜택 중복 제거, 유지보수 간소화, 버그 감소
 

Statement Library는 SAP HANA Cloud / BTP / XSA 개발 시 모듈화와 품질 향상을 위해 꼭 알아야 할 요소입니다.

300x250
반응형
Comments