Category Archives: Database

[펌글] [오라클 함수] NVL, NVL2

By | 2월 5, 2009

– 출처 : http://jinuws.tistory.com/132 – NVL함수는 NULL값을 원하는 값으로 바꾸어 사용하게 하는 함수 이다. 문자, 숫자, 날짜 형태의 모든 데이터에 사용이 가능하다. NVL(column명, value) 예를 들어 NVL(ex, 0) 이라고 한다면 ex컬럼의 값이 null인경우에는 0으로 나타나게 된다. NVL2함수는 오라클9i에서 추가된 함수 이다. 정의되어 있는 컬럼의 값이 null이 아니면 값1로 나타내고, null일 경우 값2로 나타낸다. NVL2(column명, value1, value2)… Read More »

[오라클 SQL] case when ~ else ~ end 의 용법

By | 2월 5, 2009

* 조건에 맞는 컬럼만 가공하고 싶을 때 사용한다. 예제) 10번 부서의 모든 사람들에게 급여의 13%를 보너스로 지불하기로 하였다. 이름, 급여,보너스금액,부서번호를 출력하라. select ename, sal, case when deptno = 10 then sal*0.13 else 0 end as bonus from emp where deptno = 10 order by bonus desc – 출처 : 네이버 지식인 –

[펌글] 오라클 Scott 연습문제

By | 2월 5, 2009

– 출처 : 네이버 지식인 – 1) EMP와 DEPT TABLE을 JOIN하여 부서 번호,  부서명,  이름, 급여를 출력하라. SELECT D.DEPTNO, D.DNAME, E.ENAME, E.SAL   FROM EMP E, DEPT D  WHERE E.DEPTNO = D.DEPTNO 2)이름이 ‘ALLEN’인 사원의 부서명을 출력하라. SELECT E.ENAME, D.DNAME   FROM EMP E, DEPT D  WHERE E.DEPTNO = D.DEPTNO    AND E.ENAME = ‘ALLEN’… Read More »

[펌글] 오라클 10g 설치후 교육용 hr계정 이용하기

By | 2월 5, 2009

– 출처 : http://jinuws.tistory.com/126 – [Oracle] Oracle 10g 설치후 교육용 hr계정 이용하기 우선 Oracle 10g를 설치한다. 설치를 하면서 system계정을 이용할 수 있게 생성할 것이다. 설치가 되었다면 시스템 계정으로 로그인을 한다. SQL> conn system/1234         * 비밀번호는 1234라고 임의로 지정 다음은 오라클에서 교육용계정인 hr을 사용하기 위한 설정을 해준다. SQL> alter user hr         identified by hr         account unlock         /… Read More »

[펌글] 오라클 연산자

By | 2월 5, 2009

– 출처 : http://blog.daum.net/tohalggul/20 – ——————연산자——————– <> //같지 않다. BETWEEN A AND B //A 와 B 사이  IN ( 값1, 값2, 값3) //값 중 일치한 것을 실행  LIKE ‘%A%’ //문자 패턴 중 일치한 것 샐힝  IS NULL // NULL 값은 것 반대는 IS NOT NULL  AND   //양쪽 모두 TRUE 일때 OR     //양쪽 중 한가지만이라도 TRUE NOT   … Read More »

[펌글] [오라클 함수] LPAD에 대하여

By | 2월 5, 2009

– 출처 : http://polymorph.egloos.com/1267955 – Oracle의 LPAD함수 기능 : 원하는만큼 왼쪽으로 문자를 채워줌 LPAD(SEQ,10,’0′) => 왼쪽으로 문자’0’을 10자리 맞춰서 채우라는 것임 만일 SEQ의 값이 ‘12345’라면 결과는 ‘0000012345’로 나온다는 것임. 시세를 추출하던 중 원본 데이터에 달 표시가 한자리 수라(5,8월) ‘20081220’이렇게 맞추기 위해 yyyy||LPAD(‘mm’,2,’0′)||’20’을 사용하다보니 10이나 11월 같은 경우는 010,011이 되지 않는다. 이유는 원하는 자리수가 안될경우 입력한 문자를 추가하는… Read More »

[펌글] N+1 조회란 무엇인가?

By | 2월 4, 2009

– 출처 : 자바서비스넷 – http://www.javaservice.net/~java/bbs/read.cgi?b=qna2&c=r_p&m=resource&n=1122623557&s=t 제목 : Re: N+1조회문제가 뭔가요? 글쓴이: 이희승(anoripi) 2005/07/30 07:38:23 조회수:238 줄수:24 구글에서 N + 1 query issue 로 검색하니 나오네요. ORM 툴들은 보통 lazy loading 을 합니다. 그런데 lazy loading 이란 건 사용자가 예기치 않게 데이터를 원하게 될 때만 유용합니다. 즉, lazy loading 할 데이터가 사실은 사용자가 의도적으로 한… Read More »

[펌글] Char와 VarChar2 Type의 비교분석

By | 2월 2, 2009

– 출처 : http://blog.paran.com/oraclejava/9878921 – A. CHAR – 고정 길이 문자열을 저장한다. 사용자가 고정길이 보다 짧은 값을 저장하면 나머지 공 간은 Space로 체원진다. – 1~255까지의 문자를 저장. – 사용자가 후행 공백을 포함하여 고정길이 보다 큰 값을 입력하면 고정 길이에 맞게 값에서 공백이 잘린다. – 값이 너무크면 Oracle Error발생 – 공백채움비교(blank-padded comparison semantics)를 사용한다.[비교문자열 둘다가 CHAR인경우] a.… Read More »

오라클 함수 SUBSTR 예제

By | 1월 29, 2009

* 우편번호를 ‘숫자6자리’ => ‘숫자3자리 – 숫자3자리’로 변환하기 – CONCAT(CONCAT(SUBSTR(ZIP ,0, 3), ‘-‘), SUBSTR(ZIP ,4, 6)) 그러나 이런 식으로 오라클 내장함수를 사용하는 것 보다는, 자바쪽에서 처리하는 것이 퍼포먼스가 좋다고 누가 그랬다. -_-…

[펌글] 오라클 DECODE 함수

By | 1월 23, 2009

* 예문 – select ename, job, decode(job, ‘ANALYST’, ‘분석가’,                                           ‘CLERK’, ‘점원’,                                           ‘MANAGER’, ‘관리자’) as new_job    from emp; – select ename, deptno, sal, decode(deptno, 10, sal*1.05,                                                      20, sal*1.1,                                                      30, sal*1.15,                                                      sal) as “인상급여”   — 짝이 없는 이 sal 은 해당사항 없을 때의 default값    from emp; * 상세 http://blog.naver.com/bleu_ciel/140037398850

[링크] ROWNUM 관련 글 링크

By | 1월 23, 2009

http://blog.naver.com/saakmiso226/40055158143 – rownum, rowid http://blog.naver.com/xsoft/150017829148 – rownum 관련 Quiz http://blog.naver.com/wutao/30034421385 – rownum, 서브쿼리를 이용한 top-N reporting http://blog.naver.com/fbisk/140054316421  – Oracle Paging 쿼리문 관련(rownum)  http://blog.naver.com/humanang/130011376431 – rowid와  rownum http://blog.naver.com/brianpark928/40007710726 – rowid, rownum http://blog.naver.com/icarussd/120007229730 – rownnum과 hint 절 http://blog.naver.com/zike8/120058421777 – rownum http://blog.naver.com/zike8/120058421777 – rank를 이용한 rownum 대체하기 http://blog.naver.com/yeppni/50024822221 – pageNavigation rownum은 이제 그만! http://blog.naver.com/korekiss/20035759729 – rownum을 이용한 게시판 페이징 http://blog.naver.com/sj99yang/140004113895 – rownum에 대하여 http://blog.naver.com/orapybubu/40025299118 – rownum에 관하여 http://blog.naver.com/whtstone/40016201234 – rownum? http://blog.naver.com/orapybubu/40013381750 -… Read More »

[펌글] 오라클(Oracle) 시퀀스(Sequence) 의 생성과 사용

By | 8월 14, 2008

CREATE SEQUENCE sequence_name [INCREMENT BY n1] [START WITH n2] [MAXVALUE n3 or NOMAXVALUE] [MINVALUE n4 or NOMINVALUE] [CYCLE or NOCYCLE] [CACHE or NOCACHE]; sequence_name ……. 생성하고자 하는 시퀀스 명 INCREMENT BY n1 … 해당 시퀀스의 증가값을 지정한다. 생략하면 1로 지정됨. 오름차순 : 양의 정수, 내림차순 : 음의정수 사용 START WITH n2 …….. 해당 시쿼스가 처음… Read More »

[펌글] 오라클 클라이언트(Oracle Client) 설정하기 (토드로 원격 접속할 때 환경설정)

By | 8월 1, 2008

오라클 클라이언트를 설치 한 후 원격접속을 위한 환경변수를 맞춰야 하는데 관련 파일은 tnsnames.ora, listner.ora 이다. 우선 tnsnames.ora 내용을 살펴보면 TNSNAMES.ORA Network Configuration File: c:\oracle\ora81\NETWORK\ADMIN\tnsnames.ora  // 클라이언트상의 tnsname.ora 파일 위치를 알 수 있음 # Generated by Oracle configuration tools. WEBDB =  //해당 데이터베이스를 칭하는 별칭 사용   (DESCRIPTION =     (ADDRESS_LIST =      … Read More »

[책펌] MS-SQL의 SELECT문 예제

By | 7월 18, 2008

<% Set ConnDB = Server.CreateObject(“ADODB.Connection”) ConnDB.Open = “DSN=bruce;UID=bruce;PWD=1111” strSQL = “SELECT * FROM tblMember” Set objRs = ConnDB.Execute(strSQL) Do While objRs.EOF = False  Response.Write objRs(“name”) & ” ”  Response.Write objRs(“email”) & “<br>”  objRs.MoveNext Loop objRs.Close ConnDB.Close Set objRs = Nothing Set ConnDB = Nothing %> ### 참고 : EOF와 BOF 에 관하여 ### ### 출처… Read More »

[책펌] MS-SQL에서 ODBC를 이용하여 데이터베이스에 연결하는 구문(Connection 객체 생성)

By | 7월 18, 2008

<% Set ConnDB = Server.CreateObject(“ADODB.Connection”) ConnDB.Open = “DSN=bruce;UID=bruce;PWD=1111;”     ‘관리도구=>ODBC 에서 설정하는 DSN과 SQLServer 로그인 정보 If ConnDB.State=1 Then  Response.Write “데이터베이스 연결 성공” Else  Response.Write “데이터베이스 연결 실패” End If ConnDB.Close Set ConnDB = Nothing    ‘반드시 close 하고 자원해제를 해 줄 것. %>