Database(34)
-
[Oracle] 테이블스페이스의 생성
- 옵션절을 생략할 경우 밑줄친 옵션이 디폴트 값입니다. - tablespace_name : 생성할 테이블 스페이스 명 - DATAFILE : 새로 생성하는 테이블스페이스가 사용할 데이터 파일 - filespec : 디렉토리 경로명을 포함한 파일명 - size : 새로 생성되는 데이터 파일의 크기 - ONLINE/OFFLINE ONLINE : 새로 생성되는 테이블 스페이스를 활성화 시키며, 생성 후 바로 사용할 수 있게 함 OFFLINE : 테이블 스페이스를 비활성화 시키며, 생성 후 바로 사용할 수 없음 - PERMANT/TEMPORARY : TEMPORARY 옵션을 사용하면 생성하는 테이블스페이스는 임시 테이블스페이스가 됩니다. - DEFAULT STORAGE * INITIAL : 테이블 스페이스의 ..
2010.06.07 -
[Oracle] 서브쿼리 Part1
◈ 단일행(Sing-Row) 서브쿼리 : SELECT문장으로부터 오직 하나의 행만을 검색하는 질의입니다◈ 다중행(Multiple-Row) 서브쿼리 : SELECT문장으로부터 하나 이상의 행을 검색하는 질의입니다◈ 다중열(Multiple-Column) 서브쿼리 : SELECT문장으로부터 하나 이상의 컬럼을 검색하는 질의입니다◈ FROM절상의서브쿼리(INLINE VIEW) : FROM절상에 오는 서브쿼리로 VIEW처럼 작용합니다.◈ 상관관계서브쿼리 : 바깥쪽 쿼리의 컬럼중의 하나가 안쪽 서브쿼리의 조건에 이용되는 처리방식입니다 --단일행(Single-Row) --예제 : Sales Manager인 사원의 ID, 이름, JOB ID, 급여, 부서명출력SELECT employee_id, first_name, j..
2010.06.04 -
[Oracle] 날짜 계산 함수
# 날짜계산 select months_between(sysdate,to_date('2006-12-22','yyyy-mm-dd')) from dual; -- '2006-12-22' 과 당일 사이의 달의 수를NUMBER형 타입으로 반환 -- months_between(A,B) = A-B/30 select add_months(sysdate,4) from dual; -- 특정일의 달수 더한 날 select next_day(sysdate,'friday') from dual; -- 특정일의 다음주 요일 select last_day(sysdate) from dual; -- 특정일의 해당 월의 마지막 날 select round(sysdate,'dd') from dual; -- 특정일의 반올림(오후면 다음날..) sel..
2010.06.04 -
[Oracle] 내부함수 2
3-21) TO_NCHAR(number) 함수 -------------------------------------------------------------------------------- 이 함수는 숫자를 nvarchar2 형식의 데이터로 변환한다.【형식】 TO_NCHAR(n [,fmt [,'nlsparam']])【예제】 SQL> select to_nchar(1234) from dual;TO_N ---- 1234SQL> select to_nchar(rownum) from test;TO_NCHAR(ROWNUM) ---------------------------------------- 1SQL> 3-22) TO_NCLOB 함수 -------------------------------------------..
2010.06.04 -
[Oracle] 내부함수 1
1. 문자 함수 1-1) CHR 1-2) CONCAT 함수 1-3) INITCAP 함수 1-4) LOWER 함수 1-5) LPAD 함수 1-6) LTRIM 함수 1-7) NLS_INITCAP 함수 1-8) NLS_LOWER 함수 1-9) NLSSORT 함수 1-10) NLS_UPPER 함수 1-11) REPLACE 함수 1-12) RPAD 함수 1-13) RTRIM 함수 1-14) SOUNDEX 함수 1-15) SUBSTR 함수 1-16) TRANSLATE 함수 1-17) TREAT 함수 1-18) TRIM 함수 1-19) UPPER 함수 1-20) ASCII 함수 1-21) INSTR 함수 1-22) LENGTH 함수 2. 날짜 처리함수(datetime function) 2-1) ADD_MONTHS 함..
2010.06.04 -
[Oracle] 그룹 함수[COUNT, MAX, MIN, AVG, SUM, GROUP]
--COUNT --부서명이 NULL이 아닌, --레코드의 수 SELECT COUNT(department_id) FROM employees WHERE department_id IS NOT NULL; --MAX, MIN, AVG, SUM--부서명이 NULL이 아닌, --급여액이 가장 높은 사람, 가장 낮은 사람, 평균 소숫점 1자리, 합 SELECT MAX(salary), MIN(salary), ROUND(AVG(salary), 1), SUM(salary) FROM employees WHERE department_id IS NOT NULL; --GROUP BY--부서명이 NULL이 아닌, --부서별 직원수 SELECT COUNT(employee_id) FROM employees WHERE department..
2010.06.04 -
[SQL] 25가지 기법 (25 SQL Commandments)
25 SQL CommandmentsBy Suresh Aiyer 1. 데이터와 비즈니스 어플리케이션을 잘 알아야 한다. 동일한 정보는 다른 비즈니스 데이터 원천으로부터 검색될 수 있다. 이러한 원천에 익숙해야 한다. 당신은 당신의 데이터베이스 안의 데이터의 크기와 분포를 반드시 알아야 한다. 또한 SQL을 작성하기 전에 비즈니스 개체 안의 관계와 같은 데이터 모델을 전체적으로 이해해야 한다. 이러한 이해는 당신이 여러 테이블에서 정보를 검색하는데 있어서 보다 좋은 쿼리를 작성할 수 있다. Designer/2000과 같은 CASE tools은 다른 비즈니스와 데이터베이스 객체사이의 관계를 문서화하는데 좋은 역할을 한다. 2. 실제 데이터를 가지고 당신의 쿼리를 검사하라. 대부분의 조직은 개발, 검사, 제품의..
2010.06.04 -
[Oracle] 에러코드 2
ORA-06200 TWOTASK: 연결 실패, 우편함을 생성할 수 없습니다. ORA-06201 TWOTASK: 연결 실패, 우편함에 연결할 수 없습니다. ORA-06202 TWOTASK: 연결 실패, 서버 태스크를 만들 수 없습니다. ORA-06203 TWOTASK: 연결 실패, 교신 실패 ORA-06204 TWOTASK: 연결 실패, ORASRV2.COM를 액세스할 수 없습니다. ORA-06205 TWOTASK: 연결 실패, 논리명을 생성할 수 없습니다. ORA-06206 TWOTASK: 메시지 수신 실패 ORA-06207 TWOTASK: 메시지 송신 실패 ORA-06208 TWOTASK: 부적당한 로그인(연결) 스트링 ORA-06209 TWOTASK: 연결 실패, 우편함이 이미 존재하고 있습니다. O..
2010.06.04 -
[Oracle] 에러코드 1
ORA-00000 성공적인 정상 종료입니다. ORA-00001 유일성 제약조건(%s.%s)에 위배됩니다. ORA-00017 트레이스 이벤트 설정이 세션에 요구되었습니다. ORA-00018 최대 세션 수를 초과했습니다. ORA-00019 최대 세션 라이선스 수를 초과했습니다. ORA-00020 최대 프로세스 수(%s)를 초과했습니다. ORA-00021 세션이 다른 프로세스에 첨부되어 있음; 세션을 변경할 수 없습니다. ORA-00022 부적절한 세션 번호; 액세스가 거절되었습니다. ORA-00023 세션이 프로세스 고유의 메모리를 참조함; 세션을 분리할 수 없습니다. ORA-00024 단일 프로세스 모드에서는 하나 이상의 프로세스가 로그인할 수 없습니다. ORA-00025 %s에 메모리를 할당하는데 실패했..
2010.06.04 -
[Oracle] DB에서 INDEX 제대로 사용하기
DB에서 INDEX 제대로 사용하기 작성자 : 김문규 최초 작성일 : 2009.5.18 데브피아에서 기가 막히게 좋은 전문가 글을 찾았습니다. 간단하게 정리해 봅니다. 인덱스를 사용하기를 기대하지만 그렇지 않은 기본적이고 대표적인 예입니다. 1. 인덱스 컬럼을 변형하여 비교할 때 BAD WHERE TO_CHAR(HIREDATE,'YYYYMMDD') = '19980518'; GOOD WHERE HIREDATE = TO_DATE('19980518') BAD WHERE SALARY + 1000 > 100000; GOOD WHERE SALARY > 100000 - 1000; 비교하는 인덱스 컬럼의 형이나 값을 변경하면 발생합니다. 이 경우에는 비교값을 변경해 주어야 인덱스를 사용하게 됩니다. 2. 비교 대상의 ..
2010.06.01