http://www.madboa.com/geek/openssl/


OpenSSLCommandLine.doc


저작자 표시

* Sample Scheme Install

> sqlplus /nolog
sql>conn sys/패스워드@SERVICENAME OR SID [as sysdba]

1) scott 유저의 생성 및 권한부여

SQL> create user scott identified by tiger
2 default tablespace users
3 temporary tablespace temp;

SQL > grant connect , resource to scott;

2) Sample Table Install ($ORACL_HOME/sqlplus/demo 설치 스크립트 저장소)

> sqlplus scott/tiger

SQL>@?/sqlplus/demo/demobld

3) 설치확인
> sqlplus scott/tiger

SQL> select * from tab;

저작자 표시

iBatis DDL 사용

개발/DB 2009/05/13 16:54


* com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject("service.createSeqTable");  // Query실행 시.

* Object가 이미 존재할 경우 ORA-00955

* Dynamic Query를 이용해 좀더 활용 가능할 듯.

* 아래는 일자별 시퀀스 테이블 생성과, 시퀀스 조회 함수 생성 예

* Server App 초기화 시 사용해 볼 수 있을듯.

<statement id="createSeqTable">
 CREATE TABLE NET_DAILYSEQ ( FDTSEQ CHAR(8), FSEQ NUMBER)
</statement>

<statement id="createSeqFunction">

 CREATE OR REPLACE FUNCTION GET_DAILYSEQ RETURN NUMBER IS
 PRAGMA AUTONOMOUS_TRANSACTION;
 vFseq NUMBER;
 BEGIN

    vFseq := -1;

     SELECT  
      NVL(MAX(FSEQ),0)+1 AS FSEQ into vFseq
     FROM NET_DAILYSEQ
     WHERE
  FDTSEQ = TO_CHAR(SYSDATE,'YYYYMMDD');
   
    
       MERGE INTO NET_DAILYSEQ A
       USING
  (
      SELECT NVL(MAX(FDTSEQ),TO_CHAR(SYSDATE,'YYYYMMDD')) FDTSEQ, vFSEQ as FSEQ
      FROM NET_DAILYSEQ
      WHERE FDTSEQ = TO_CHAR(SYSDATE,'YYYYMMDD')
     
  ) B
    ON (A.FDTSEQ = B.FDTSEQ)
       WHEN MATCHED THEN
     UPDATE SET A.FSEQ = B.FSEQ
       WHEN NOT MATCHED THEN
     INSERT VALUES (B.FDTSEQ, B.FSEQ);
   
    COMMIT;       

    RETURN vFseq;
   
    EXCEPTION
      WHEN NO_DATA_FOUND THEN
        NULL;
      WHEN OTHERS THEN
        RAISE;
 END GET_DAILYSEQ;

</statement>

저작자 표시

Oracle DML

2009/05/12 17:28

PROTECTED ARTICLE. TYPE THE PASSWORD.

Oracle DML MERGE

개발/DB 2009/05/11 18:12
MERGE INTO 업데이트_인서트_대상_테이블 a
        USING (조인조건등의 조건 테이블)  b
        ON (a.id = b.id)
  WHEN MATCHED THEN  -- On조건이 맞을경우 실행
        UPDATE SET a.age = b.age
  WHEN NOT MATCHED THEN -- 조건이 안맞을 경우 실행
       INSERT VALUES (b.id, 'new name')

INTO - 데이터가 업데이트/삽입될 테이블
USING - 대상 데이터와 비교될 테이블/뷰
ON : INTO 테이블과 USING테이블의 비교 조건
WHEN MATCHED : ON 조건에 맞는 ROW가 있을경우 수행
WHEN NOT MATCHED : ON 조건에 맞는 ROW가 없을 때 수행

* INSERT VALUES 절에서 들어갈 수 있는 데이터(KEY)는 USING테이블에 있는 키여야하며, 키가 아닌 데이터는 들어 상수/변수가 들어갈 수 있음.

* 없으면 INSERT 있으면 UPDATE할 경우 유용.
저작자 표시