[ Jquery ] Table 핸들링

Web Dev/Javascript 2011. 3. 23. 14:18 Posted by ditus


 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<!--script type="text/javascript" src="temp.js"></script-->
<style type="text/css">
body,html {margin:10px; padding:0; font-family:Dotum; font-size:12px; line-height:normal; color:#333;}
table  {border:0 none; border-collapse:collapse; table-layout:fixed; border-spacing:0;}
table.basic {border-top:2px solid #FF6600;}
table.basic th, table.basic td {border:0 none; border-bottom:1px solid #FF6600; border-right:1px solid #FF6600;}
table.basic .end td {border-bottom:2px solid #993333;}
table.basic .bg1 td {background:#00FF66;}
table.basic .bg2 td {background:#FFCC66;}
table.basic .bg3 td {background:#fff;}
table.basic .over td {background:#000; color:#fff;}
table.basic th.right, table.basic td.right {border-right:0 none !important;}
</style>
<script type="text/javascript">
$(document).ready(function(){
 $(".basic tr:odd").addClass("bg1"); //basic이라는 클래스네임을 가진 요소의 tr 요소 중 홀수번째에 bg1클래스 부여
 $(".basic tr:even").addClass("bg2"); //basic이라는 클래스네임을 가진 요소의 tr 요소 중 짝수번째에 bg2클래스 부여
 $(".basic tr:last").addClass("end"); //basic이라는 클래스네임을 가진 요소의 tr 요소중 마지막 요소에 end 클래스 부여
 $(".basic td:nth-child(3)").addClass("right"); //basic이라는 클래스네임을 가진 요소의 td 요소중 3번째 요소들에 right 클래스 부여
 $(".basic tr:even td:nth-child(4)").addClass("right"); //응용
 $(".basic th:last-child").addClass("right"); //basic이라는 클래스네임을 가진 요소의 th 요소중 마지막 요소(들)에 right 클래스 부여
 $(".basic td:last-child").addClass("right"); //basic이라는 클래스네임을 가진 요소의 td 요소중 마지막 요소(들)에 right 클래스 부여
 $(".basic tr").mouseover(function() {$(this).addClass("over");}).mouseout(function(){$(this).removeClass("over");});
});
</script>
</head>

<body>
<table width="100%" border="1" class="basic">
 <tr>
  <th scope="col">테스트</th>
  <th scope="col">테스트</th>
  <th scope="col">테스트</th>
  <th scope="col">테스트</th>
  <th scope="col">테스트</th>
  <th scope="col">테스트</th>
 </tr>
 <tr>
  <td>dddd</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
 </tr>
 <tr>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td> 
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
 </tr>
 <tr>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
 </tr>
 <tr>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
 </tr>
 <tr>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
 </tr>
 <tr>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
 </tr>
 <tr>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
  <td>sdsdfg f fwefw efw ref</td>
 </tr>
</table>

</body>
</html>


SQL EDITOR상에서의 편리한 단축키

ESC: 열린 윈도우 닫기
F1: 모든 단축키를 보여준다.
F2: FULL SCREEN
F4: Table, View, Proc, Funct, Package를 DESC(테이블명에 커서를 둔 상태에
서 해야함)
F6: SQL Editor와 결과창간의 전환
F7: 화면을 모두 CLEAR
F8: 실행했던 SQL들의 HISTORY
F9: 모든 쿼리 실행(Ctrl+Enter는 현재 쿼리만 실행)
Ctrl+F9: 실제 쿼리를 실행하지 않고 validate함
Ctrl+. : table Completion                (매칭되는 테이블목록 출력)
Ctrl+T : Columns Dropdown                (해당테이블의 컬럼목록 표시)
Alt+Up  : History Up                        (리눅스 bash의 UP키와 같다.)
Alt+Down: History Down                (리눅스 bash의 DOWN키와 같다.)
Ctrl+Tab: MDI Child윈도간 전환

그냥 'desc 테이블명' 을 치면, 팝업윈도로 해당 테이블의 컬럼목록윈도가 표
시된다.
이때, 해당 컬럼을 double-click하면 SQL Editor로 반영된다.

"테이블명."까지 입력하고 좀 있으면, 해당 테이블의 컬럼목록이 표시된다.
마치 프로그래밍툴에서 클래스내 멤버들의 목록을 표시하듯이..
Ctrl+T는 출력된 목록을 취소했을 경우, 다시 불러낼때 쓰인다.

test, member 2개의 테이블이 있다고 하자.
select * from t까지 입력하고 Ctrl+.를 치면 select * from test로 테이블명
을 완성시켜준다.
system계정에서는 안되더군.. 일반계정만 가능했다.

SQL문을 실행시

Ctrl+Enter
현재 커서의 SQL문 실행
여러개의 SQL문이 있을때, SQL문들을 개행문자로 분리해주면 된다.
해당 커서에서 개행문자가 있는 곳까지만 하나의 SQL문으로 간주한다.

F9
SQL Editor의 SQL문 실행하여 Grid에 출력.
여러 SQL문들을 개행문자로 구분하지 않는다는 것을 제외하면, 위의
Ctrl+Enter와 동일하다.
에디터내의 모든 SQL문은 하나로 취급하므로, 여러 개의 SQL문이 있으면 실행
할 SQL문만 Selection하여 실행(F9)해준다.

F5
SQL Editor내의 모든 SQL문 실행. 여러개의 SQL문들을 모두 실행하여 SQL*PLUS
와 같이 출력해준다.
이것은 출력이 Grid로 표시되지 않고 Editor윈도에 표시되므로, SQL*PLUS의 출
력과 같이,
다른 편집기로의 복사/붙여넣기 할때 사용하면 유용하다.


[ PHP ] PHP 자료형 비교표

Web Dev/PHP 2011. 2. 14. 16:08 Posted by ditus

PHP 함수로 $x 비교하기
Expression gettype() empty() is_null() isset() boolean : if($x)
$x = ""; string TRUE FALSE TRUE FALSE
$x = null; NULL TRUE TRUE FALSE FALSE
var $x; NULL TRUE TRUE FALSE FALSE
$x is undefined NULL TRUE TRUE FALSE FALSE
$x = array(); array TRUE FALSE TRUE FALSE
$x = false; boolean TRUE FALSE TRUE FALSE
$x = true; boolean FALSE FALSE TRUE TRUE
$x = 1; integer FALSE FALSE TRUE TRUE
$x = 42; integer FALSE FALSE TRUE TRUE
$x = 0; integer TRUE FALSE TRUE FALSE
$x = -1; integer FALSE FALSE TRUE TRUE
$x = "1"; string FALSE FALSE TRUE TRUE
$x = "0"; string TRUE FALSE TRUE FALSE
$x = "-1"; string FALSE FALSE TRUE TRUE
$x = "php"; string FALSE FALSE TRUE TRUE
$x = "true"; string FALSE FALSE TRUE TRUE
$x = "false"; string FALSE FALSE TRUE TRUE

==로 느슨한 비교
TRUE FALSE 1 0 -1 "1" "0" "-1" NULL array() "php" ""
TRUE TRUE FALSE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE
FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE
1 TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
0 FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE TRUE
-1 TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
"1" TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
"0" FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
"-1" TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
NULL FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE
array() FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE
"php" TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
"" FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE

===로 엄격한 비교
  TRUE FALSE 1 0 -1 "1" "0" "-1" NULL array() "php" ""
TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
1 FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
0 FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-1 FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
"1" FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
"0" FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
"-1" FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
NULL FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
array() FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
"php" FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
"" FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE

 



세션확인

select b.spid, a.*
from v$session a, v$process b
where a.paddr = b.addr
;

세션 킬

alter system kill session 'SID, SERIALI#'


[ORACLE] OUTER JOIN

Database/Oracle 2011. 1. 27. 15:28 Posted by ditus

[오라클] OUTER JOIN
Out(외부) Join

 - equijoin 문장들의 한가지 제약점은 그것들이 조인을 생성하려 하는 두 개의 테이블의 두 개
    컬럼에서 공통된 값이 없다면 테이블로부터 테이터를 Return하지 않는 다는 것입니다.

 - 정상적으로 조인 조건을 만족하지 못하는 행들을 보기위해 outer join을 사용합니다.
    Outer join 연산자 "( + )"입니다.

 -조인시킬 값이 없는 조인측에 "( + )"를 위치 시킵니다.


 - Outer join 연산자는 표현식의 한 편에만 올 수 있습니다.


예제1) 일반 조인의 경우

SQL> SELECT DISTINCT(a.deptno), b.deptno
         FROM emp a, dept b
         WHERE  a.deptno = b.deptno

DEPTNO     DEPTNO
---------- ----------
        10         10
        20         20
        30         30


예제2)out join을 했을 경우


SQL>  SELECT DISTINCT(a.deptno), b.deptno
          FROM emp a, dept b
          WHERE  a.deptno(+) = b.deptno

 DEPTNO     DEPTNO
 -------     ----------
     10         10
     20         20
     30         30
                 40

※ 다음의 쿼리를 한번 잘 보시기 바랍니다.

SQL>  SELECT DISTINCT(a.deptno), b.deptno
          FROM emp a, dept b
          WHERE  a.deptno(+) = b.deptno

               ANDa.ename LIKE '%';

    DEPTNO     DEPTNO
---------- ----------
        10         10
        20         20
        30         30

쿼리 결과를 잘 보면 out조인이 되지 않은 것을 알 수 있습니다.
위 쿼리를 out조인이 되기 위해서는 아래와 같이 고쳐야 합니다
.

SQL> SELECT DISTINCT(a.deptno), b.deptno
         FROM emp a, dept b
         WHERE  a.deptno(+) = b.deptno
              AND a.ename(+) LIKE '%'

    DEPTNO     DEPTNO
---------- ----------
        10         10
        20         20
        30         30
                    40

OUT조인 조건이 걸려있는 테이블에는 다른 조건절이 들어와도
똑같이 OUT조인 연산자인 (+)를 해주어야 합니다.  



Oracle9i 부터는 ANSI/ISO SQL표준인 LEFT OUTER JOIN , RIGHT OUTER JOIN, FULL OUTER JOIN를 지원 합니다.


LEFT OUTER JOIN
 왼쪽 테이블에 조인시킬 컬럽의 값이 없는 경우 사용합니다.
 
SQL>SELECT DISTINCT(e.deptno), d.deptno
    FROM dept d LEFT OUTER JOIN emp e
    ON d.deptno = e.deptno;
 
 
RIGHT OUTER JOIN
 - 오른쪽에 테이블에 조인시킬 컬럽의 값이 없는 경우 사용합니다.
 
SQL>SELECT DISTINCT(a.deptno), b.deptno
    FROM emp a RIGHT OUTER JOIN dept b
    ON a.deptno = b.deptno;
 
 
FULL OUTER JOIN
양쪽 테이블에 다 outer join을 거는것을 TWO-WAY OUTER JOIN 또는 FULL OUTER JOIN이라 합니다.
 
SQL>SELECT DISTINCT(a.deptno), b.deptno
    FROM emp a FULL OUTER JOIN dept b
    ON a.deptno = b.deptno;
 
-- 위 세 문장의 결과는 아래와 같습니다.
    DEPTNO     DEPTNO
---------- ----------
        10         10
        20         20
        30         30
                   40
 
LEFT OUTER JOIN과 RIGHT OUTER JOIN의 테이블 순서를 바꾸어 가면서 테스트를 하시면 쉽게 이해를 하실 수 있습니다.

출처 : 오라클 클럽

[ JS ] 팝업창 가운데 띄우기

Web Dev/Javascript 2011. 1. 14. 19:24 Posted by ditus

 var sw  = screen.availWidth ;
 var sh  = screen.availHeight ;

 px=(sw - width)/2 ;
 py=(sh - height)/2 ;

 var set  = 'top=' + py + ',left=' + px ;
 set += ',width=' + width + ',height=' + height + ',toolbar=0,resizable=1,status=0,scrollbars=1' ;


$conn = ocilogon("아이디","패스워드","호스트네임");
echo "Server Version=".OCIServerVersion($conn);  //접속확인
$query = "select * from 테이블";
$stmt = oci_parse($conn,$query);
ociexecute($stmt);

while($row = oci_fetch_array($stmt,OCI_BOTH))
{
echo $row[];
}

[ 중복된 값 뽑아오기]

select colum,count(*) from table group by colum having count(*) >1



[ DBMS_RANDOM ]

랜덤으로 문자열을 생성한다.

select dbms_random.value(1,1000) num from dual;
 -> 1~1000 사이의 랜던 숫자를 생성

select dbms_random.string('U', 20) str from dual;
-> 대문자 20자리 랜덤 문자열 생성

'U' : 대문자
'L' : 소문자
'A' : 대소문자
'X' : 숫자 + 대문자
'P' : 출력가능한 문자


 - 랜덤으로 로우 가져오기
select * from (select x.*,rownum rn from table x) a,(select trunc(dbms_random.value(1,로우갯수)) rn from dual) b where a.rn = b.rn








책 목록

책/읽을책 2010. 12. 21. 11:49 Posted by ditus

프로그래밍 관련
  • 소프트웨어 공학의 사실과 오해
  • CODE COMPLETE 2/E
  • Professional 소프트웨어 개발 - 인사이트
  • 소프트웨어 프로젝트 생존 전략 - 인사이트
  • Rapid Development - 한빛미디어
  • 소프트웨어 개발의 지혜
  • 알기 쉬운 디자인 패턴 - 피어슨에듀케이션코리아
  • Head First Design Pattern - 한빛미디어어
  • GoF 디자인 패턴! 이렇게 활용한다 : C++로 배우는 패턴의 이해와 활용
  • GoF의 디자인 패턴 -  피어슨에듀케이션코리아
  • Refactoring 리팩토링 -  대청
  • (K교수의)객체지향 이야기
  • 소프트웨어 설계 테크닉 : 아무도 가르쳐 주지 않았던 - 성안당
  • 맨먼스 미신
  • 성공과 실패를 결정하는 1%의 비트 원리
  • 누가 소프트웨어의 심장을 만들었는가
  • OS 구조와 원리 : OS 개발 30일 프로젝트
  • 해커와 화가
  • Code Craft
  • 린 소프트웨어 개발
  • 똑똑하고 100배 일잘하는 개발자 모시기
  • 뉴욕의 프로그래머
  • 데이터베이스 설계와 구축 : 성능까지 고려한 데이터 모델링
  • CMM - 피어슨에듀케이션코리아
  • 구현사례를 통한 CMM 이해 - 피어슨에듀케이션코리아
  • 초보자를 위한 eXtreme 프로그래밍 - 인포북
  • Software Requirements 2nd Ed -  정보문화사
  • GAME ARCHITECTURE AND DESIGN 1,2 -  제우미디어
  • 프로젝트 매니지먼트 -  피어슨에듀케이션코리아
  • Programming challenges
  • 오브젝트 디자인
  • UML, 실전에서는 이것만 쓴다 - 인사이트
  • 실용주의 프로그래머 - 인사이트
  • Java 언어로 배우는 디자인 패턴 입문 - 영진닷컴
  • 객체지향적으로 생각하라! - 맷 와이스펠드 저/배선종 역 | 정보문화사
  • 하드코드 : 나잘난 박사의 IT 정글 서바이벌 가이드
  • Effective Java - 대웅
  • (The) art of game design : 게임 디렉터, 기획자, 개발자가 꼭 읽어야 할 게임 디자인에 관한 모든것
  • (후니의 쉽게 쓴) 시스코 네트워킹  
  • 프로그래밍은 상상이다  
  • 컴파일러 구조와 원리 : 컴파일러로 배우는 언어 처리 시스템
  • 글로벌 소프트웨어를 꿈꾸다  
  • CODE  
  • NHN은 이렇게 한다, 소프트웨어 품질 관리  
  • 자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기 
  • (고품질 쾌속개발을 위한)테스트 주도 개발 TDD 실천법과 도구  
  • 소프트웨어 공학 (제8판) - Ian Sommerville  
  • 프로그램은 왜 실패하는 가?
  • 켄트백의 구현 패턴
  • 안드로이드 프로그래밍 정복 - 김상형 
  • 프로페셔널 안드로이드 2 애플리케이션 개발
  • Clean Code


수학, 과학
  • 리만 가설 베른하르트 리만과 소수의 비밀
  • 파동의 모험
  • 평행우주
  • The Elegant Universe
  • 사람이 알아야 할 모든 것, 인간
  • 마인드 해킹
  • 동시성의 과학, 싱크
  • Brain Stroy - 지호
  • 無0眞空 - 해나무
  • 시간의 역사 - 까치
  • 수학의 언어 - 해나무
  • 수학의 밀레니엄 문제들 7 - 까치
  • 노벨상이 만든 세상 - 나무의 꿈
  • 영의 발견 - 여강
  • 호두 껍질 속의 우주
  • 파인만의 여섯가지 물리 이야기
  • 거의 모든 것의 역사
  • 사고력을 키우는 수학책
  • 정재승의 과학 콘서트
  • 오즈의 수학여행
  • 꿈 - 아카넷
  • 기억과 피암시성 - 시그마프레스
  • 수학의 재미 - 랜덤하우스
  • 코스모스
  • 인지과학 : 학문 간 융합의 원리와 응용 - 이정모 저 | 성균관대학교출판부(SKKUP)


뇌, 생각
  • 천재들의 뇌
  • 브라인드 스팟 - 다산초당 (적극적으로 추천하지는 않음)
  • 섬광처럼 내리 꽂히는 통찰력 - 게랄드 트라우페터 저/노선정 역 | 살림Biz
  • 전략의 탄생 - 쌤앤파커스
  • 닥터스 씽킹
  • 생각의 탄생 
  • 뇌를 깨워라  1 - 나노 미디어
  • 넛지  
  • 생각을 쇼하라  
  • 뇌, 생각의 출현 : 대칭, 대칭붕괴에서 의식까지
  • 인텔리전스 : 평범함과 비범함의 비밀을 밝힌 문화 지능의 지도  
  • 생각이 직관에 묻다 : 논리의 허를 찌르는 직관의 심리학  


자기개발
  • 시간의 놀라운 발견 - 웅진 지식하우스
  • 누구나 글을 잘 쓸 수 있다 - 예담
  • 세상을 바꾸는 여성 엔지니어 - 생각의 나무
  • 날다 타조
  • 바둑 읽는 CEO - 21세기북스
  • 디테일의 힘 - 올림
  • 공부의 비결 - 들녘
  • 공부하는 독종이 살아남는다 - 중앙북스
  • 1250℃ 최고의 나를 만나라
  • 세계 최고의 석학 120명이 들려주는 "1등의 기술"
  • 멘토 - 비즈니스북스
  • 혼창통  
  • 달인


철학
  • 짜라투스트라는 이렇게 말했다
  • Justice
  • 육조단경, 선설 등 채치충의 시리즈
  • 장자
  • 도덕경
  • 국가론


문학
  • 고문진보
  • 어린왕자
  • 꽃들에게 희망을
  • Falling up - 셸 실버스타인
  • The missing piece - 셸 실버스타인
  • The Missing Piece Meets the Big O-  셸 실버스타인
  • 들개
  • 꿈꾸는 식물
  • 사부님 싸부님
  • 연금술사
  • 위대한 개츠비
  • 개미
  • 다빈치 코드
  • 새벽편지 - 정호승
  • 외로우니까 사람이다 - 정호승
  • 나는 너다 - 황지우
  • 절망이 벤치 위에 앉아 있다
  • 홀로서기 - 서정윤


경영 및 마케팅
  • 마케팅 불변의 법칙
  • 포지셔닝
  • 유능한 관리자의 비밀노트
  • 총각네 야채가게
  • 유비처럼 경영하고 제갈량처럼 마케팅하라 - 랜덤하우스 코리아
  • Brain View - 흐름출판 (적극적으로 추천하지는 않음)


경제
  • 비열한 시장과 도마뱀의 뇌
  • PANIC 패닉 : 1907년 금융공황의 통찰 - 로버트 F.브루너,숀 D.카 공저/하윤숙 역/이상건 해제 | 황금부엉이 
  • 주식투자란 무엇인가 - 박경철


심리학
  • 유쾌한 심리학
  • 이시형과 함께 읽는 프로이트
  • 설득의 심리학


교육학
  • 교육심리학 "교육실제를 보는 창"
  • 교육 심리학 이론과 실제 (제 7판)  - 시그마프레스


언어
  • 영어회화가 저절로 되는 순간 영작문 시리즈
  • 영어일기 표현사전   
  • 영문법 콘서트 : 영문법의 Why와 How를 이해하는 개념잡이 강의노트
  • George's Secret Key To The Universe


기타
  • 교과서가 죽인 책들 - 예지
  • 그대 내게로 와서 우리 다시 사랑할 수 있다면
  • 동양과 서양, 세상을 바라보는 서로 다른 시선 - 김영사
  • 謨略
  • 변경 - 더난출판
  • 손자병법
  • 제갈량집

[ORACLE] Sequence 조회/생성

Database/Oracle 2010. 12. 21. 11:19 Posted by ditus

 

 
 
 
 
 
정의된 시퀀스 조회

select * from user_sequences


현재 시퀀스 조회

select 시퀀스네임.currval from dual


다음 시퀀스 조회


select 시퀀스네임.nextval from dual




[Sequence 생성]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◎ 범례
──────────────────────────────────────────────
   대문자 : Reserved Word (오라클 예약어)
   소문자 : User Define (사용자가 직접 입력해야 하는 부분)
   [ ] : Option (지정하지 않아도 되거나 생략시 기본 설정값으로 대체됨)
   or : Choice(여러가지중 하나를 선택한다)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━



◇ FORMAT
──────────────────────────────────────────────
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 ......... 오름차순 최대 10의 27승 까지, 내림차순 -1 까지 생성됨.
MINVALUE n4 .......... 해당 시퀀스가 생성할 수 있는 최소값
NOMINVALUE .......... 오름차순 1 까지, 내림차순 -10의 26승 까지
CYCLE ................... 해당 시퀀스가 최대값에 도달한 후 다시 처음부터 시퀀스를 생성한다.
NOCYCLE ............... 해당 시퀀스가 최대값에 도달해도 다시 생성하지 않는다.[DEFAULT]
CACHE ................... 시퀀스 값을 메모리에 할당하여 처리한다. [ORACLE DEFAULT 20]
NOCACHE ............... 시퀀스를 메모리에 할당하여 사용하지 않음.
 


◆ 예제
──────────────────────────────────────────────
예1) CREATE SEQUENCE temp_seq
           INCREMENT BY 2
           START WITH   1
           MAXVALUE 100
           NOCYCLE
           NOCACHE;


temp_seq하는 시퀀스를 생성한다.
초기값은 1부터 시작하며 2씩 증가하고 100이 되거나 100에 가장 근접한 값을 가지게 되면
종료된다.(NOCYCLE 지정에 의해)
NOCHCHE지정으로 메모리에 CACHE하지는 않는다.


 


결과) 1 3 5 7 9 ..... 99


 


예2) CREATE SEQUENCE temp_seq
           INCREMENT BY -1
           START WITH   100
           MAXVALUE 100


           MINVALUE 0
           NOCYCLE
           NOCACHE;


temp_seq하는 시퀀스를 생성한다.
초기값은 100부터 시작하며 1씩 감소하고 0이 되면 종료된다.
NOCHCHE지정으로 메모리에 CACHE하지는 않는다.


 


결과) 100, 99, 98, 97, 96 ... 0


 


※ 적용
──────────────────────────────────────────────
ORACLE 6 이상