주민등록번호와 같이 값의 길이가 일정한 컬럼 즉 고정길이 컬럼에만 char형을 사용하고 값의 길이가 제각각인 컬럼엔 varchar 형을 사용해야 합니다. char(5) 형인 컬럼에 'aaaa' 란 값을 넣으면 실제로 'aaaa ' 처럼 뒤에 한자리 공백이 들어 갑니다. 이렇듯 의도하지 않은 곳에 공백이 들어갈 수 있어 sql문에서 의도하지 않은 결과를 낳을 수 있습니다. 한가지 예로 where 절에서 고정길이 컬럼인 A 값을 비교할 때 A='aaaa' 라고 해도 'aaaa ' 값을 찾을 수 있지만 A = DECODE(1,1,'aaaa','etc') 라고 하면 찾지를 못합니다. 즉 decode 문을 통해 나온 값은 공백이 있는 A 컬럼과 비교할 수 없는 것입니다. 고정길이 컬럼에만 char 형을 사용 이란..
처음에는 사용하던 컬럼이 시간이 지남에 따라 사용되지 않을 경우에 테이블을 삭제하고 다시 이관하는 작업이 쉽지 않기 때문에 그냥 계속 사용하여 공간만 낭비하는 경우가 있습니다, 이때 UNUSED를 사용해서 컬럼을 안보이게 할 수 있습니다. 형식) alter table table_name set unused (column_name); .unused 된 컬럼은 다시 되살릴 수 없음 .동일한 컬럼명으로 새롭게 추가할 수는 있음.
1. HOLD_CURSOR : PARSE COUNT 횟수를 줄임. 즉 SQL문이 재실행될 때 이미 PARSE된 정보를 재사용하게 함. ex) EXEC ORACLE OPTION (HOLD_CURSOR = NO) : 재사용 안함 EXEC ORACLE OPTION (HOLD_CURSOR = YES) : 재사용, 자주 사용되는 SQL문을 저장 2. RELEASE_CUROSR : CURSOR_Cache 영역과 Library Cashe 영역간의 관계를 해제하거나 유지함. ex) EXEC ORACLE OPTION ( RELEASE_CURSOR = NO) : CUROSR_Cache, 영역에 저장된 SQL문에 대한 PARSE 정보를 저장하는 Library Cashe 영역의 관계를 유지. EXEC ORACLE OPTION..
원본 출처 : http://home.bcline.com/hoya1/ 1.1 Pro*C란? ORACLE RDBMS에 준비된 Pro*C툴은, SQL문을 포함한 C 프로그램을, ORACLE 데이터베이스내에 있는 데이터에 접근과, 조작을 할 수 있는 C 프로그램으로 변환하기 위한 것이다. Pro*C는 프리컴파일러이기 때문에, 입력 파일 내에 있는 EXEC SQL 문을 적당한 ORACLE 콜로 변환해서 출력 파일을 작성한다. 그 다음 이 출력 파일을 C 프로그램에 대한 통상의 방법으로 컴파일하고 링크해서 실행모듈을 작성한다. 1.2 개요 Pro*C 툴을 사용하면 프로그램머는 통상의 프로그래밍 과정에 덧붙여서 별도의 처리를 수행 할 필요가 생긴다. 그러나 별도의 처리를 추가함으로써, 프로그램머에 도움이 되는 상당량..
오라클에서 테이블의 컬럼정보를 가지고 있는 딕셔너리 테이블은 ALL_TAB_COLUMNS 를 이용하면 원하는 정보를 얻을 수 있습니다. SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH FROM ALL_TAB_COLUMNS WHERE OWNER = :V_OWNER AND TABLE_NAME = :V_TABLE_NAME 실무에서 2개의 동일한 테이블이 있을 경우 (데이터 이관작업 테이블) 2개의 테이블이 동일한 구성을 했는 지 검사하는 로직에서 유용하게 사용했습니다. -------------------------------------------------------------------------- SLEECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH FR..
1과 2를 입력받아 1일때는 특정 컬럼이 'D'인것 만 출력하고 2일때는 D가 아닌 것을 출력. 입력값은 :V_VALUE 로 받을 것고 IF문을 사용할 수 있는 PL/SQL를 배제한 순수한 SQL로만 작성할 것. T: T_SAMPLE C: STATUS 1. 입력값이 1일 경우 SELECT * FROM T_SAMPLE WHERE STATUS = 'D' 2. 입력값이 2일 경우 SELECT * FROM T_SAMPLE WHERE STATUS !='D' . . . . . . . . . . . . . . 언뜻 생각하면 간단하지만 막상해볼려고 하면 잘 안되더군요.(제 경우) 아직 내공이 많이 부족하나 봅니다. 1시간의 고민 끝에 해결하니 허무하군요. 너무 간단해서 ㅠㅠ SELECT * FROM T_SAMPLE W..
데이터베이스 특히 오라클를 공부한 사람이라면 대용량 데이터베이스 솔루션 책과 강좌를 한번쯤 읽고 들어봤다고 해도 과언이 아니죠. 책에 COPY_T 테이블 같기도 하고 뷰같기도 하는. . . 저같이 책을 정독을 하지 않고 쭉 읽은 후 필요할때마다 바이블처럼 꺼내보는 사람에겐 COPY_T가 먼지 찾기란 여간 어렵지 않더군요. 그래서 찬찬히 찾아보니 데이터를 추출하기 위해 단순복제를 하기 위해 또는 IN 조건에 선분법칙(특정일자를 BETWWEN으로 검색하는 것보다 COPY_T 테이블에 특정기간의 일자를 만들어 놓고 조인하는 방법)를 이용할때 . . . 날짜를 이용한 선분법칙은 대용량책이 아니었으면 생각지도 못했을 기법인데요 실제 해보니 성능차이가 많이 나더군요. COPY_T 형식의 테이블을 여러개 만들어 놓고..
오라클 툴로 Orange, Toad, Golden, SQLGate, SQLDeveloper를 사용해 봤지만 역시 Orange 만한게 없더군요. 제가 오랜지를 사용하는 이유가 매우 많지만 그중에 하나를 소개하자면 DB에서 자료를 조회해서 엑셀로 저장하고 싶을때 다른 툴든은 6만 5천건이 넘으면 저장하지 못해(엑셀의 제약) rownum으로 짤라서 여러번 저장해야 하는 반면 Orange는 친절하게도 자동으로 쉬트를 분리해서 연속해서 저장해 줍니다. 하나의 파일에 여러개의 쉬트로 말이죠. 이 기능을 접해보신 분들은 입이 다물어 지지가 않더군요. 더군다나 웨어벨리 홈페이지에 회원으로 등록하면 트라이얼키를 받아 사용할 수가 있습니다. 처음 트라이얼키를 받으면 3개월 사용할 수 있고 만료가 되면 1주짜리 트라이얼키를..
- Total
- Today
- Yesterday
- yugabyteDB
- node.js
- 톡토기
- 별잉 빛나는 밤
- 카카오 에드
- 화분벌레
- Sybase IQ
- JMW 헤어드라이기기
- 유가바이트디비
- Life Chair
- 르세라핌
- 루미큐브 종류
- VARIDESK
- weka
- 브리다 정수기
- 코라나 19
- GKRS
- 배당급
- Pixel Pals
- 로니카 BCS
- 증권정보포털
- 빈센트 반 고흐
- 파나소닉 비데 DL-EH10KWS
- 남설 팔찌
- 고체 향수
- 오미크론
- 별이 빚나는 밤
- 솔리드 쿨론
- 매직 트랙패드2
- 홈 오피스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |