User Tools

Site Tools


universe_datastore

유니버스에서 데이터 저장 활용

기능 요약

  • SQL 유니버스의 설정에서 등록/수정/삭제 쿼리를 구현할 수 있다.
  • 쿼리는 일반 statement 방식, 파라미터를 이용한 preparedstatement 방식, Procedure 호출을 위한 callablestatement 방식을 모두 사용할 수 있다.

일반 statement 방식으로 구현

  • SQL과 표현식을 이용해서 등록/수정/삭제 쿼리를 완성한다.
  • KPI에서 편집된 데이터는 $dataRow로 넘어온다.
insert A_TABLE into (col1, col2, col3) values ($dataRow.get("AA"), '$dataRow.get("BB")', $dataRow.get("CC"))

preparementStatement 방식으로 구현

  • 등록 파라미터 사용 옵션을 체크한다.
  • SQL문에서 파라미터 부분은 ?로 처리하고, 파라미터 순서에 맞게 파라미터 아이템을 등록한다.
  • 파라미터 등록시 표현식 항목에 값에 해당하는 표현식을 넣고, 타입을 정확하게 선택한다.
  • SQL Injection 방지와 파라미터의 정확한 처리를 위해 이 방식을 권장함
insert A_TABLE into (col1, col2, col3) values (?, ?, ?)

callableStatement 방식으로 구현

  • SQL Procedure를 호출하는 경우 이 방식을 사용한다.
  • 저장 프로시저 사용, 등록파라미터 사용 옵션을 체크한다.
  • 프로시저에서 파라미터 부분은 ?로 처리하고, 파라미터 순서에 맞게 파라미터 아이템을 등록한다.
  • 등록파라미터에서 파라미터, 데이터형, 입출력 구분을 설정한다. 주의) 파라미터 등록 저장 후, 반드시 화면 하단의 저장까지 해야 저장이 완료됨.
  • INOUT을 동시에 사용하는 파라미터의 경우 표현식에서 |로 구분한다.
{call MY_PROC(?, ?)}

저장 프로시저 사용 예

1) DB 툴에서 프로시저 작성

CREATE OR REPLACE PROCEDURE "TESTSPACE"."TEST_PROC_INSERT" ( zcd in varchar2, znm in varchar2, result out varchar2)
IS
BEGIN

    --insert into test_proc (cd,nm) values (zcd, znm);
    update test_proc set nm = znm where cd=zcd;

    result := 'ok';

    commit;
END;

2) SQL 유니버스 등록 쿼리에서 호출

{call TEST_PROC_INSERT(?, ?, ?)}

3) 파라미터 설정

  • 파라미터 : $dataRow.get(“ZCD”) 데이터형 : varchar2 입출력구분 : IN
  • 파라미터 : $dataRow.get(“ZNM”) 데이터형 : varchar2 입출력구분 : IN
  • 파라미터 : RESULT 데이터형 : varchar2 입출력구분 : OUT

조회 프로시저 사용 예

조회 유니버스에서 프로시저 사용하는 경우에는 레코드셋을 리턴하기 위해 CURSOR를 사용함 1) DB 툴에서 프로시저 작성

create or replace
PACKAGE PACKAGE1 AS
    TYPE ref_cursor IS REF CURSOR;
END PACKAGE1;
CREATE OR REPLACE PROCEDURE "TESTSPACE"."TEST_PROC_RETRIVE"(zcd in varchar2, stock_cursor out PACKAGE1.ref_cursor)
AS
BEGIN

    OPEN stock_cursor FOR 
    select CD, NM from test_proc where CD = zcd;

END;

2) SQL 유니버스 조회 쿼리에서 호출

{call TEST_PROC_RETRIVE(?, ?)}

3) 파라미터 설정

  • 파라미터 : $parameters.ZCD 데이터형 : varchar2 입출력구분 : IN
  • 파라미터 : [입력안함] 데이터형 : Other 입출력구분 : OUT
universe_datastore.txt · Last modified: 2011/01/14 16:00 by jaeyool