본문 바로가기
반응형

Development302

[Oracle]시퀀스 만들기 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 ........ 해당 시쿼스가 처음 시작하는 값을 지정한다. 생략하면 1로 지정됨. MAXVALUE n3 ......... 해당 시퀀스가 생성할 수 있는 최대값, NOMAXVALUE ....... 2013. 2. 12.
SQL 문 수행단계 발췌 대상 테이블을 참조한다. (FROM)발췌 대상 데이터가 아닌 것은 제거한다. (WHERE)행들을 그룹화 합니다. (GROUP BY) → GROUPPING그룹함수의 값의 조건에 맞는 것만을 출력한다.(HAVING)데이터 값을 계산한다. (SELECT)데이터를 특정 칼럼을 기준으로 정렬한다. (ORDER BY) 앞으로 쿼리 작성할때 염두해 둬야겠다. 2013. 2. 12.
SQL 작성시 주의사항 . 조건 칼럼에 연산이 필요한 경우는 칼럼을 변형시키는 연산 대신에 비교되는 상수 값을변형시키는 방법을 찾아야 한다. 컬럼을 변형시킬경우 Index가 존재해도 Full Scan을 하게된다. SUBSTR(ENAME, 1,1) = '이' -> ENAME LIKE '이%'SAL * 12 > 30000000 -> SAL > 30000000 / 12TO_CHAR(BIRTH,'YYYYMMDD') = '20020909' -> BIRTH = TO_DATE('20020909','YYYYMMDD') 2. NULL은 인덱스에 들어가지 않기 때문에 인덱스를 스캔할 필요가 없다. 따라서 NULL 비교 조건을 상수 조건으로 변경해야한다. name is null -> name > '' (VARCHAR2)age is null -> .. 2013. 2. 12.
[Oracle]계층구조 가져오기 SELECT SYS_CONNECT_BY_PATH(ITM_NM,'>>') HRCH_FULL_NM -- 전체계층구조(이름)FROM TABLE WHERE ITM_CLSF_CD = '12131804'START WITH ITM_CD IS NULLCONNECT BY PRIOR ITM_CD = PARENT_ITM_CD이렇게 쿼리를 작성하면 계층구조는 ITEM >> ITEM >> ITEM이런 형식으로 나오게 된다. START WITH ITM_CD IS NULL ITM_CD IS NULL : ITM_CD 가 NULL 인것을 ROOT로 인식한다. CONNECT BY PRIOR ITM_CD = PARENT_ITM_CD ITM_CD = PARENT_ITM_CD : 하위코드와 상위코드의 관계를 정의한다. 2013. 2. 12.
[Programing Challenges]반전한 수 더하기 맬리드네시아(Malidnesia)의 고대 희극인들은 비극보다 희극을 선호한다. 불행히도 고대 연극의 대부분은 비극이다. 따라서, ACM의 드라마 작가는 몇 편의 비극을 희극으로 바꾸기로 결정한다. 극의 모든 것을 반대로 바꿔야 함에도 불구하고 극의 기본 의미를 보존해야 하기 때문에 이 작업이 매우 어렵다는 것은 분명하다. 숫자를 예로 들어보자. 비극에서 어떤 숫자가 나타나면 희극에서 사용하기 전에 이 숫자를 거꾸로 변환해야 한다. 거꾸로 쓴 숫자(Reversed number)라는 것은 비트 순서를 반대로 하는 것이 아니라 아라비아 숫자를 반대로 쓰는 것을 의미한다. 첫번째 자리가 마지막이 되고, 마지막이 첫번째가 되는 것이다. 예를 들어, 주인공이 비극에서 1245 딸기(1245 strawberries).. 2013. 2. 12.
오버라이딩 규칙 1. 오버라이딩 할때에는 접근 제한자의 범위가 같거나 커야한다. 2. 오버라이딩 된 하위 클래스의 메서드에 throws 구문이 있으면 상위 클래스의 오버라이딩을 준 메서드도 반드시 해당 예외 클래스에 준하는 throws 구문이 있어야 한다. 맨날 오버로딩하고 헷갈리는 오버라이딩규칙도 있다는것을 처음 알았다 참고로 오버 로딩은 매개변수가 다르거나 매개변수의 자료형이 틀린 동일한 메서드를 말한다.까먹지 말아야지.. 2013. 2. 12.
Java에서 Null 값을 비교할 때 음.. 미묘한 내용이라 잘 이해가 되실지 모르겠습니다만.. 좀 전문적인 관점에서 설명을 해드리겠습니다. (어려운 내용이지만 오히려 이편이 이해가 더 빠를 수도 있을거 같아서요) 먼저 객체란 것은 무엇이고 변수란 것은 무엇인가? 그냥 다 그냥 값을 저장하는 공간 아닌가? 객체는 힙(heap)이라는 메모리 영역에 생성됩니다. 힙은 프로그램(프로세스 process)이 실행되는 동안 무언가 저장할 공간이 필요할 때 사용되는 메모리 공간입니다. 변수는 스택(stack)이란 메모리 영역에 생성됩니다. 스택은 쓰레드(thread)가 실행되는 동안 사용되는 영역입니다. (쓰레드란거에 대해서 이해를 하셨는지 모르겠습니다만) 하나의 프로세스에는 여러개의 쓰레드가 있을수 있습니다. 각 쓰레드는 고유의 스택영역을 가지지만 하.. 2013. 2. 12.
Deep Copy vs Shallow Copy 예전에 시험에서 나왔었는데...그때는 이게 뭔말인가 했다. -_-;;어디서 듣도 보지도 못한것이 굴러나왔나 했는데... [직역]Deep copy - 깊은 복사Shallow copy - 얕은 복사 Deep copy원본과 같은 데이터를 저장하고 있는 새로운 객체나 배열을 생성하는것원번이 바뀌어도 복사본은 독립적이기 때무에 영향이 없다. Shallow copy배열이나 객체를 복사할때 단순히 참조만 복사하는것.원본이 변경됨면 복사본도 변경된다. 까먹지 말자꾸나! 2013. 2. 12.
객체에는 메서드가 포함되지 않는다? 객채가 생성되면 인스턴스 변수는 포함이 되지만 메서드는 포함되지 않는다.왜냐고??인스턴스 변수는 인스턴스마다 다른 값을 가질수 있어야 하기 때문에 별도의 메모리 공간이 필요하다.그런데 메서드는 변하는게 아니다.그래서 메모리를 낭비해 가면서 인스턴스를 포함시킬 이유가 없다... 라고 오늘 책에서 봤다...처음 알았네 -_-;;; 2013. 2. 12.
[Hacker Cup]Find the Min After sending smileys, John decided to play with arrays. Did you know that hackers enjoy playing with arrays? John has a zero-based index array, m, which contains n non-negative integers. However, only the first k values of the array are known to him, and he wants to figure out the rest.John knows the following: for each index i, where k 2013. 2. 1.
[Hacker Cup]Balanced Smileys 흠... 왜 이렇게 생각을 못했을까 Balanced SmileysYour friend John uses a lot of emoticons when you talk to him on Messenger. In addition to being a person who likes to express himself through emoticons, he hates unbalanced parenthesis so much that it makes him go :(Sometimes he puts emoticons within parentheses, and you find it hard to tell if a parenthesis really is a parenthesis or part of an emoticon.A me.. 2013. 1. 31.
파일 입출력. 가끔 찾아보기가 귀찮아서.. ㅡㅡ; try { BufferedReader in = new BufferedReader(new FileReader("src/input")); String s; while ((s = in.readLine()) != null) { System.out.println(s); } in.close(); } catch (IOException e) { System.err.println(e); System.exit(1); }} 2013. 1. 29.
728x90
반응형