레이블이 oracle인 게시물을 표시합니다. 모든 게시물 표시
레이블이 oracle인 게시물을 표시합니다. 모든 게시물 표시

2015년 1월 21일 수요일

merge update insert사용하기, Oracle

MERGE INTO MEMBER M
USING DUAL
        -- 업데이트를 할것인지 인서트를 할것인지의 조건
        ON (M.MEMBER_ID = ?)
WHEN MATCHED THEN
        -- 조건에 맞으면 업데이트
        UPDATE SET MEMBER_UPDATE = ?
WHEN NOT MATCHED THEN
        -- 조건에 맞지 않으면 인서트
        INSERT (
                MEMBER_ID
                , MEMBER_UPDATE
        ) VALUES (
                ?
                , ?
        )

데이터에 순위주기, Oracle

-- RANK
-- 순위를 정할때 같은값이 있을경우 같은 RANK값을 가지게 된다.
-- 다음 랭크는 중복된 값을 건너뛰게된다.
-- EX ) 1, 2, 2, 4, 4, 6
SELECT MEMBER_ID, MEMBER_NAME, MEMBER_GROUP_CODE
, RANK() OVER (ORDER BY MEMBER_SEQ DESC) AS RANK
FROM MEMBER
 
-- DENSE_RANK
-- 순위를 정할때 같은값이 있을경우 같은 RANK값을 가지게 된다.
-- 다음 랭크에 중복상관없이 순차적으로 넘버링된다.
-- EX ) 1, 2, 2, 3, 4, 4, 5
SELECT MEMBER_ID, MEMBER_NAME, MEMBER_GROUP_CODE
, RANK() OVER (ORDER BY MEMBER_SEQ DESC) AS RANK
FROM MEMBER
 
 
-- RANK GROUP
-- 그룹별로 순위를 부여한다
-- EX ) 1, 2, 3, 1, 2, 3
SELECT MEMBER_ID, MEMBER_NAME, MEMBER_GROUP_CODE
, RANK() OVER (PARTITION BY MEMBER_GROUP_CODE ORDER BY MEMBER_SEQ DESC) AS RANK
FROM MEMBER

2015년 1월 16일 금요일

Exception, ORA-00918 : 열의 정의가 애매합니다.

Cause:java.sql.SQLSyntaxErrorException:ORA-00918:열의 정의가 애매합니다.

두개 이상의 테이블을 조인하여 사용할때 발생.

조인되는 테이블컬럼에 같은 컬럼의 이름이 존재할경우 alias를 붙여 어떤 테이블의 컬럼인지 알려주어야 한다.


SELECT A.MBR_ID, B.MBR_ID
FROM MEMBER A
  INNER JOIN MEMBER B ON A.MBR_ID = B.MBR_ID

Using SharedPreference, Android

앱을 개발하면서 간단한 사용자의 설정 정보 또는 무겁지 않은 데이터를 저장할때 사용하면 유용합니다. 저장된 데이터는 앱을 삭제하거나 앱 데이터를 삭제하면 지워지는 데이터 이므로 저장하려는 데이터를 어디에 저장할것인 잘 판단해야 합니다. 데이터 저장 ...