Notice»

Recent Post»

Recent Comment»

Recent Trackback»

Archive»

« 2024/3 »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

 
 

[Oracle] 중복데이터 체크

프로그래밍/Database | 2010. 7. 23. 15:35 | Posted by 99%

'프로그래밍 > Database' 카테고리의 다른 글

[Oracle] DATE와 TIMESTAMP(밀리세컨드,현재시간 입력)  (0) 2010.07.23
DB에서 Null체크  (0) 2010.05.20
[Oracle] Process수 늘리기(동시접속)  (0) 2010.05.12
ERWin-ERD  (0) 2010.03.23
[Oracle] 사용자 추가  (0) 2010.03.11
:

오라클에서 초단위 이하의 밀리세컨드 처리를 위해선 TIMESTAMP형을 사용해야 한다.
9i에서 추가된것 같다.

주로사용하는 DATE형은 초까지의 정보만 입력된다.

문자열의 날짜입력시
DATE형은
insert into TABLE_NAME (COL_NAME) values (to_date('20100723152301', 'YYYYMMDDHH24MISS'));
TIMESTAMP형은
insert into TABLE_NAME (COL_NAME) values (to_timestamp('20100723152301123', 'YYYYMMDDHH24MISSFF'));
-> 밀리세컨드를 3자리로 지정하여 표현하고 싶다면 FF3을, 4자리로 표현하고 싶다면 FF5를, 이와 같은 형식으로 바꾸어주면 된다.

포맷팅 해서 소숫점단위의 초를 보려면 FF 엘리먼트를 사용한다. TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH:MM:SS.FF4')
ex) select to_char(COL_NAME, 'YYYY-MM-DD HH:MM:SS.FF4') temp_date from TABLE_NAME;

현재시간 입력시
DATE형은 SYSDATE를
TIMESTAMP는 SYSTIMESTAMP를 사용하면 된다.
 


이 Timestamp 타입의 문제는 연산하기가 만만치 않다는 겁니다. 보통 Date 타입에서는 초단위까지 더하거나 뺄 때 sysdate + 1/24/60/60 까지 가능한데, Timestamp 타입은 초단위 까지는 이런 방식대로 가능한데, 이런 식으로 밀리초를 계산할 수가 없습니다. 따로 INTERVAL 이라는 키워드를 이용해서 하는데, 예를 들어 이런 식이져...
SELECT TO_CHAR(SYSTIMESTAMP, 'MI.SS.FF4')
  , TO_CHAR(SYSTIMESTAMP + INTERVAL  '0 01:01:01.0100' DAY TO SECOND, 'MI.SS.FF4')  from dual;






'프로그래밍 > Database' 카테고리의 다른 글

[Oracle] 중복데이터 체크  (0) 2010.07.23
DB에서 Null체크  (0) 2010.05.20
[Oracle] Process수 늘리기(동시접속)  (0) 2010.05.12
ERWin-ERD  (0) 2010.03.23
[Oracle] 사용자 추가  (0) 2010.03.11
:

DB에서 Null체크

프로그래밍/Database | 2010. 5. 20. 10:49 | Posted by 99%

TEST_TABLE에
char 형 STR_ID 필드가 있을때

NULL로 입력된 자료 삭제시는
DELETE FROM TEST_TABLE WHERE STR_ID is NULL;

공백문자가 들어간경우 확인시는 ''이다.(C프로그래머 헷갈리지 말자.Insert는 잘해놓고 Select시는 왜자꾸 헷갈리나? ㅎㅎ)
DELETE FROM TEST_TABLE WHERE STR_ID = '';
:

alter system set processes =200 scope =spfile ;
-> 200으로 변경

select name ,value from v$spparameter where name = 'processes';
-> 조회


'프로그래밍 > Database' 카테고리의 다른 글

[Oracle] DATE와 TIMESTAMP(밀리세컨드,현재시간 입력)  (0) 2010.07.23
DB에서 Null체크  (0) 2010.05.20
ERWin-ERD  (0) 2010.03.23
[Oracle] 사용자 추가  (0) 2010.03.11
문자열 추가(기존 문자열에 추가하기)  (0) 2010.01.15
:

ERWin-ERD

프로그래밍/Database | 2010. 3. 23. 17:27 | Posted by 99%
:

[Oracle] 사용자 추가

프로그래밍/Database | 2010. 3. 11. 15:28 | Posted by 99%

space_worker와
paradise:p123456(계정)
부분만 변경해서 써먹자.

추후에 상세설명 추가할것.
//////////////////////////////////////////////////////////////////////
system/manager(password)

/* TABLE SPACE CREATE */
create tablespace space_worker
datafile 'c:\oracle\oradata\paradise\space_worker.dbf' size 100M;

/* USER CREATE */

create user paradise identified by p123456
default tablespace space_worker
temporary tablespace temp
quota 100M on space_worker
account unlock;

/* GRANT ROLE */
grant connect,resource to paradise;


:
update 테이블 set 필드 = '0000'&필드 (오라클)

update 테이블 set 필드 = '0000'+필드(mssql)
:

오라클에서 공급하는 툴
SQL*Net없이 바로 사용할 수 있습니다.

로그인하면 곧바로 받을수 있으며 멀티플랫폼을 지원한다.

jdk를 필요로 하며 포함된걸 받을 수 있다.

버젼은 9.2.1.0 이상만 접속 가능하다.

Oracle SQL Developer
참고 => http://blog.naver.com/reomereome?Redirect=Log&logNo=40088492295

http://www.barney.pe.kr/blog/1378

Oracle SQL Developer 에서 mssql 사용하도록 설정하기


Instanct Client
참고 => http://blog.naver.com/orapybubu/40013952580


Win7에서는 아래폴더에 저장됐다.

C:\Users\JsvN\AppData\Roaming\SQL Developer

:

오라클에는 mysql처럼 테이블 만들때 속성으로 자동증가 컬럼을 만들수 없다.

시퀀스라는 개념이 있어서 시퀀스를 생성해주고
디비에 값을 넣을때 '시퀀스.nextval'를 명시해주면 자동 증가값을 넣어 줄수 있다.




테이블은 기존과 같이 정의하고
create sequence IMGSENSORVALUE_SEQ increment by 1 start with 1
:

오라클에는 top이 없다.
이중쿼리로 order by 해논 결과를 ROWNUM 제어해서 보여줘야한다.

SELECT *
FROM (SELECT *
           FROM EMP
           ORDER BY HIREDATE)
WHERE ROWNUM < 11;



자세한 내용은 아래 참조

top-N reporting (오라클 TOP 기능 구현)
http://blog.naver.com/wutao?Redirect=Log&logNo=30034421385


: