HANA DB SEQUENCE & SYNONYM & FUNCTION

rain46688·2021년 12월 12일
0

개발 관련 정리

목록 보기
17/19

1, SYNONYM 생성 및 사용

프로시저 내부에서 SELECT 123 INTO VAL1 FROM DUMMY;
사용해서 셀렉트 결과문으로 변수값에 담는 경우가 필요한데 이 경우
시노님을 생성해야 사용이 가능함

db/ 폴더 밑에 .hdbsynoym 확장자로 생성

{
    "DUMMY": {
      "target": {
        "object": "DUMMY",
        "schema": "SYS"
      }
    }
  }

내부에 DUMMY를 정의 후 사용

SELECT LPAD(CM_005_SEQ.currval, 12, '0') INTO A2 FROM DUMMY;

2, SEQUENCE 생성 및 사용

db/ 폴더 밑에 .hdbsequence 확장자로 생성

SEQUENCE CM_005_SEQ
RESET BY 
SELECT IFNULL(MAX(CM_005_ID), 0) + 1 FROM GILRO_GA_CM_005

시퀀스를 생성 후 프로시저에서 사용

INSERT INTO GILRO_GA_CM_005 VALUES(LPAD(CM_005_SEQ.nextval, 12, '0') ,NULL, :A1 ,:STARTDATE,:ENDDATE,NULL, NULL,NULL,CURRENT_TIMESTAMP, NULL, NULL);

3, FUNCTION 생성 및 사용

db/ 폴더 밑에 .hdbfunction 확장자로 생성

FUNCTION "GILRO_GA_CODE"( CODE NVARCHAR(12) )
    RETURNS RESULT NVARCHAR(50)
    LANGUAGE SQLSCRIPT
    SQL SECURITY INVOKER AS
BEGIN
 
    SELECT CODE_NAME
    INTO RESULT
    FROM GILRO_GA_CD_002 
    WHERE BP_CD_002_ID LIKE :CODE;

END;

파라미터를 받고 로직을 수행해서 결과 값을 반환해줌
프로시저와 차이점은 데이터를 읽고 쓰지는 못하는 점이다.

참고 자료 :
https://help.sap.com/viewer/4505d0bdaf4948449b7f7379d24d0f0d/2.0.02/en-US/aad1653a9b95422089fec53f48c2899e.html

https://help.sap.com/viewer/4505d0bdaf4948449b7f7379d24d0f0d/2.0.02/en-US/b295c2e0a5d547f8b1717ad7dd52cc90.html

https://help.sap.com/viewer/4505d0bdaf4948449b7f7379d24d0f0d/2.0.02/en-US/cbf136986c98430ea50ddf4b95bc1efe.html

0개의 댓글