page no. 88933198
- 기능 설명
- Dynamic SQL 기능은 데이터 소스 편집에서 스크립틀릿(Expression)을 지원합니다.
- 이 기능을 사용하면 SQL 내에서
<%= 변수명 %>
와 같이 변수를 사용하거나, 여러 줄의 코드를 넣기 위해<% JavaScript 표현식 %>
과 같이 사용할 수 있습니다. - Dynamic SQL 기능을 활용하여 SQL 소스의 분기 처리를 통해 권한 관리나 조건에 따른 항목 선택 기능을 구현할 수 있습니다.
- Dynamic SQL 내의 스크립트는 JavaScript를 사용하는 i-AUD의 서버 스크립트와 동일하며, Response(클라이언트로 출력 처리)에 대한 제어는 불가능합니다.
- Dynamic SQL 내에서 사용자 편의를 위해 아래 조건의 파라미터들은 별도 설정 없이 변수로 사용 가능 합니다.
세션 변수 자동 등록 (아래 4개 항목 + 세션 변수 중 VS_, VN_로 시작하는 변수목록)
변수 종류
사용 예시
변수값(예시)
설명
DeptCode
<%=DeptCode$%>
'B060003','B060000','DEFAULT','-1'
부서Path(사용자부서 포함)
USER_NAME
<%=USER_NAME$%>
홍길동
사용자명
USER_CODE
<%=USER_CODE$%>
salee
사용자 코드
ORG_CODE
<%=VS_ORG_CODE$%>
B060003
사용자 부서코드
파라미터 변수 자동 등록(VS_, VN_로 시작하는 변수)
참고사항
※ 변수명이 JavaScript 문법에 맞지 않을 경우는 사용이 불가 합니다.
e.g. VS_CODE-1010, VS_CODE 공백, VS_AA++
SQL 작성 샘플
파라미터 바인딩 샘플SELECT SALE_DATE, CUSTOMER_NAME FROM SALES WHERE USER_CODE = '<%=USER_CODE$%>' -- 세션의 사용자 코드를 바인딩 합니다.
권한에 따른 분기 처리<% var req = Matrix.getRequest(); var res = Matrix.getResponse(); var session = Matrix.getSession(); var util = Matrix.getUtility(); //권한 허용 목록 Javascript 구문 var AUTH_DEPTS = ["ORG-001", "ORG_002", "ORG_003"];// 판매 단가를 볼 수 있는 부서 목록 %> SELECT SALE_DATE , CUSTOMER_NAME , PRODUCT_CODE , SALE_CNT <% if(AUTH_DEPTS.indexOf(ORG_CODE$) >= 0){ //권한이 있는 경우 %> , SALE_PRICE AS SALE_PRICE , SALE_AMT AS SALE_AMT <% }else{ //권한 없을 경우 0으로 설정 %> , 0.0 AS SALE_PRICE , 0.0 AS SALE_AMT <% } %> FROM SALES
sql 수동 설정하기<% // sql을 수동으로 설정하기 var req = Matrix.getRequest(); var res = Matrix.getResponse(); var session = Matrix.getSession(); var util = Matrix.getUtility(); sql = " SELECT " + "\n T1.GROUP_CODE AS GROUP_CODE " + "\n ,T1.CODE AS CODE " + "\n ,T1.NAME AS NAME " + "\n ,T1.ORDER_SEQ AS ORDER_SEQ " + "\n ,T1.DESCRIPTION AS DESCRIPTION " + "\n ,T1.REF_CODE01 AS REF_CODE01 " + "\n ,T1.REF_CODE02 AS REF_CODE02 " + "\n ,T1.REF_CODE03 AS REF_CODE03 " + "\n ,T1.ACTIVE_YN AS ACTIVE_YN " + "\n FROM ACCNT_CODES T1 " + "\n WHERE T1.CODE = 'GRP_100' "; // sql을 수동으로 설정 합니다. Matrix.setResultDynamicSQL(sql); %>
샘플 정보
- 샘플 URL :
- 샘플 파일