♣ 들여쓰기 기본값 변경 하기 (2-->4)

- SQL Developer 의 들여쓰기 기본값은 2.

- 도구>환경설정> 데이터베이스> SQL 포맷터>Oracle 형식 지정>편집>들여쓰기 메뉴에서 값을 변경 할 수 있다.


♣ 들여쓰기에 공백(Space) 대신 탭(Tab) 사용하기

Preferences -> Database -> SQL Formatter -> Alignment and Indentation -> Use tabulator(도표 작성기 사용) 체크.


♣ Format Code

- 쿼리를 지정 된 포맷에 따라 정렬하기

- 단축키: Ctrl + F7


♣ SQL에디터에서 줄번호 보이게 설정

 - 도구 > 환경설정 > 코드 편집기 > 행 여백 > 행 번호 표시에 체크.


♣ 완성 인사이트 대문자로 설정 하기

- 도구 > 환경설정 > 코드 편집기 > 완성 인사이트 > 입력할 때 대소문자 변경 체크 후 'Upper Case'로 설정.


♣ 유용한 단축키 목록

범주명령단축키
WorksheetSQL 워크시트(W)Alt-F10
Worksheet계획 설명(E)...F10
Worksheet내역(H)F8
Worksheet롤백(R)F12
Worksheet명령문 실행F9
Worksheet명령문 실행Ctrl-Enter
Worksheet비공유 SQL 워크시트Ctrl-Shift-N
Worksheet스크립트 실행F5
Worksheet자동 추적(A)...F6
Worksheet지우기(C)Ctrl-D
Worksheet커밋(O)F11
검색다음 찾기(N)F3
검색바꾸기...(R)Ctrl-R
검색이전 찾기(P)Shift-F3
검색증분 뒤로 찾기(B)Ctrl-Shift-E
검색증분 앞으로 찾기(O)Ctrl-E
검색찾기...(F)Ctrl-F
검색커서 다음 단어 찾기Ctrl-F3
검색커서 앞 단어 찾기Ctrl-Shift-F3
기타SQL 내역: 다음 내역에서 추가Ctrl-Shift-Down
기타SQL 내역: 다음 내역으로 바꾸기Ctrl-Down
기타SQL 내역: 이전 내역에서 추가Ctrl-Shift-Up
기타SQL 내역: 이전 내역으로 바꾸기Ctrl-Up
기타고급 형식...Ctrl-Shift-F7
기타구현 디버그Shift-F9
기타대문자/소문자/첫 자를 대문자로Ctrl-Quote
기타변경 사항 롤백F12
기타변경 사항 커밋F11
기타보기 고정Ctrl-Shift-P
기타새로 고침Ctrl-R
기타새로 만들기(N)...Ctrl-N
기타테스트 실행F9
기타파일 실행Ctrl-F11
기타팝업 메뉴Shift-F10
기타팝업 메뉴Context Menu
기타팝업 설명Shift-F4
기타편집(E)Ctrl-L
기타형식Ctrl-F7
데이터 편집기데이터 필터링Ctrl-Alt-F
데이터 편집기변경 사항 롤백F12
데이터 편집기변경 사항 커밋F11
데이터 편집기새로 고침Ctrl-R
데이터 편집기선택된 행 삭제Ctrl-D
데이터 편집기정렬...Ctrl-Alt-S
데이터 편집기행 삽입Ctrl-I
도구공백 표시Ctrl-Shift-W
도움말뒤로Ctrl-Alt-Left
도움말문맥에 따른 도움말F1
도움말문맥에 따른 도움말Shift-F1
도움말앞으로Ctrl-Alt-Right
디버그감시...(W)Ctrl-F5
디버그검사...(I)Ctrl-I
디버그내부 이동F7
디버그외부 이동Shift-F7
디버그이동 계속(C)Shift-F8
디버그재개F9
디버그전체 이동F8
디버그종료Ctrl-F2
디버그중단점 토글(T)F5
디버그커서까지 실행(U)F4
디버그프로젝트 디버그Shift-F9
버전 지정속성(버전 지정)Ctrl-Shift-O
보기로그(L)Ctrl-Shift-L
보기중단점(B)Ctrl-Shift-R
소스모두 축소(A)Ctrl-Shift-Open Bracket
소스모두 확장(L)Ctrl-Shift-Close Bracket
소스재형식화Ctrl-Alt-L
소스재형식화Alt-Shift-F
실행(R)프로젝트 실행F11
이동0~9 책갈피 토글Ctrl-Shift-0 ~9
이동0~9 책갈피로 이동Ctrl-0 ~9
이동Maximize ToggleCtrl-Alt-M
이동기호 문서 찾아보기...Alt-Shift-Minus
이동기호 찾아보기...(M)Ctrl-Minus
이동다음 메시지로 이동(X)Alt-F8
이동다음 책갈피로 이동(O)Ctrl-Q
이동뒤로(C)Alt-Left
이동앞으로(W)Alt-Right
이동이전 메시지로 이동(V)Alt-F7
이동이전 책갈피로 이동(P)Ctrl-Shift-Q
이동책갈피 토글(T)Ctrl-K
이동책갈피로 이동...(B)Ctrl-Shift-K
이동최근 파일로 이동(F)...Ctrl-Equals
이동최근 편집으로 이동(E)Ctrl-Shift-Backspace
이동행으로 이동...(G)Ctrl-G
다음 창(X)F6
다음 파일(N)Ctrl-F6
다음 파일(N)Ctrl-Tab
오른쪽 편집기(G)Alt-Page Down
왼쪽 편집기(E)Alt-Page Up
이전 창(V)Shift-F6
이전 파일(P)Ctrl-Shift-F6
이전 파일(P)Ctrl-Shift-Tab
파일 목록(F)Alt-0
편집기 메뉴 표시(S)Alt-Minus
코드 편집기다음 단어 시작 부분까지 삭제Ctrl-Delete
코드 편집기다음 단어 시작 부분까지 삭제Ctrl-T
코드 편집기다음 단어 시작 부분으로 이동Ctrl-Right
코드 편집기뒤로 이동Left
코드 편집기로컬 탭 크기를 2로 설정Ctrl-2
코드 편집기로컬 탭 크기를 4로 설정Ctrl-4
코드 편집기로컬 탭 크기를 8로 설정Ctrl-8
코드 편집기매개변수 인사이트(P)Ctrl-Shift-Space
코드 편집기삽입 모드 토글Insert
코드 편집기새 행 삽입Shift-Enter
코드 편집기새 행 삽입Enter
코드 편집기선택 사항 뒤로 이동Shift-Left
코드 편집기선택 사항 복제Ctrl-Shift-D
코드 편집기선택 사항 아래로 이동Shift-Down
코드 편집기선택 사항 앞으로 이동Shift-Right
코드 편집기택 사항 위로 이동Shift-Up
코드 편집기선택 사항을 다음 단어 시작 부분으로 이동Ctrl-Shift-Right
코드 편집기선택 사항을 이전 단어 시작 부분으로 이동Ctrl-Shift-Left
코드 편집기선택 사항을 파일 끝으로 이동Ctrl-Shift-End
코드 편집기선택 사항을 파일 시작 부분으로 이동Ctrl-Shift-Home
코드 편집기선택 사항을 페이지 아래로 이동Shift-Page Down
코드 편집기선택 사항을 페이지 위로 이동Shift-Page Up
코드 편집기선택 사항을 행 끝으로 이동Shift-End
코드 편집기선택 사항을 행 시작 부분으로 이동Shift-Home
코드 편집기선택 해제Ctrl-Back Slash
코드 편집기선행 공백을 탭으로 변환Ctrl-Shift-T
코드 편집기선행 탭을 공백으로 변환Ctrl-Shift-U
코드 편집기스마트 완성 인사이트(A)Ctrl-Alt-Space
코드 편집기아래로 이동Down
코드 편집기앞으로 이동Right
코드 편집기역방향 탭Shift-Tab
코드 편집기완성 인사이트(C)Ctrl-Space
코드 편집기위로 이동Up
코드 편집기이전 단어 시작 부분까지 삭제Ctrl-Backspace
코드 편집기이전 단어 시작 부분으로 이동Ctrl-Left
코드 편집기이전 문자 삭제Shift-Backspace
코드 편집기이전 문자 삭제Backspace
코드 편집기일치하는 중괄호까지 선택Alt-Shift-Close Bracket
코드 편집기일치하는 중괄호까지 선택Alt-Shift-Open Bracket
코드 편집기일치하는 중괄호로 이동Alt-Open Bracket
코드 편집기일치하는 중괄호로 이동Alt-Close Bracket
코드 편집기취소Escape
코드 편집기탭 삽입Tab
코드 편집기파일 끝으로 이동Ctrl-End
코드 편집기파일 시작 부분으로 이동Ctrl-Home
코드 편집기행 끝까지 삭제Ctrl-Shift-Y
코드 편집기행 아래로 스크롤Ctrl-Down
코드 편집기행 위로 스크롤Ctrl-Up
코드 편집기행 조인Ctrl-J
코드 편집기행 주석 토글(T)Ctrl-Slash
코드 편집기행 주석 토글(T)Ctrl-Shift-Slash


출처 : http://302.pe.kr/379


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

[ORACLE] SqlDeveloper Tip  (0) 2016.12.06
[ORACLE] 접속계정 권한 확인  (0) 2016.12.05
[ORACLE] LIKE  (0) 2016.01.28
[ORACLE] INSERT SELECT  (0) 2015.04.09
[ORACLE] UPDATE SELECT  (0) 2015.04.09
[ORACLE] auto-increment 생성하기.  (0) 2013.12.20

오라클에서 접속한후 현재 접속되어 있는 계정에 대한 권한을 확인하는 쿼리 입니다.

SELECT * FROM USER_SYS_PRIVS;

접속되어 있는 룰을 확인하는 쿼리

SELECT * FROM USER_ROLE_PRIVS;

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

[ORACLE] SqlDeveloper Tip  (0) 2016.12.06
[ORACLE] 접속계정 권한 확인  (0) 2016.12.05
[ORACLE] LIKE  (0) 2016.01.28
[ORACLE] INSERT SELECT  (0) 2015.04.09
[ORACLE] UPDATE SELECT  (0) 2015.04.09
[ORACLE] auto-increment 생성하기.  (0) 2013.12.20

LIKE 구문을 사용하던중 검색을 해야되는 컬럼의 값 중앙부분을 제외하고 처음과 끝부분만으로 검색 구문을 만드는 작업을 하였다..


SELECT * FROM 테이블 WHERE 컬럼 LIKE 'S_%_D';

이런식으로 하면 중간을 제외한 앞뒤문자만 가지고 검색이 가능하다.


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

[ORACLE] SqlDeveloper Tip  (0) 2016.12.06
[ORACLE] 접속계정 권한 확인  (0) 2016.12.05
[ORACLE] LIKE  (0) 2016.01.28
[ORACLE] INSERT SELECT  (0) 2015.04.09
[ORACLE] UPDATE SELECT  (0) 2015.04.09
[ORACLE] auto-increment 생성하기.  (0) 2013.12.20

DB작업중 데이터를 옴길일이 생겨서 남김.

특정테이블에 다중 SELECT후 나온 데이터와 고정값을 넣을때는 아래와 같이 진행.


INSERT INTO dual_3

            (

                        id   ,

                        coid ,

                        code ,

                        type ,

                        data1,

                        data2

            )

SELECT a.id          ,

       a.coid        ,

       b.code        ,

       'TNT'     AS data1,

       'CONTENT' AS data2

FROM   dual_1 a,

       dual_2 b,

       daul_3 c(+)

WHERE  a.id       = b.id

AND    a.id       = c.id

AND    a.coid     = 'CLINIC'

AND    b.code     = 'ROLL'

AND    c.id IS NULL

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

[ORACLE] 접속계정 권한 확인  (0) 2016.12.05
[ORACLE] LIKE  (0) 2016.01.28
[ORACLE] INSERT SELECT  (0) 2015.04.09
[ORACLE] UPDATE SELECT  (0) 2015.04.09
[ORACLE] auto-increment 생성하기.  (0) 2013.12.20
[ORACLE] SESSION KILL  (0) 2013.12.20

기존 DB의 내용을 변경할일이 있어서 찾아보다 알게됨.


UPDATE시 SELECT를 하는데 테이블이 많은경우.

UPDATE

       /*+BYPASS_UJVC */

       (SELECT a.coid AS coid_a,

               b.code AS coid_b,

               c.coid          ,

               c.code

       FROM    dual_1 a,

               dual_2 b dual_3 c

       WHERE   a.id = b.id

       AND     a.id = b.id

       AND     a.coid IN ('test',

                          'true')

       AND     b.code         = 'ROLL'

       AND     c.id IS NOT NULL

       )

SET    coid = coid_a,

       code = code_b


위와 같이 진행을 하면 된다.

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

[ORACLE] LIKE  (0) 2016.01.28
[ORACLE] INSERT SELECT  (0) 2015.04.09
[ORACLE] UPDATE SELECT  (0) 2015.04.09
[ORACLE] auto-increment 생성하기.  (0) 2013.12.20
[ORACLE] SESSION KILL  (0) 2013.12.20
[ORACLE] LPAD and INSTR  (0) 2011.08.09

작업중 자동 번호를 입력할 일이 생기게 되었다..

아.. MSSQL이나 MYSQL은 편한데.. ㅜㅜ


1.

CREATE SEQUENCE SEQ_DUAL MINVALUE 1 MAXVALUE 99999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE;

  - SEQ_DUAL이라는 명의 시퀀스를 생성

  - 최소값은 1이고 최대값은 99999999 이고,

  - 시작숫자는 1이고 증가수는 1이다.

  - cache는 20이고 NOORDER는(ORDER를 사용하면 요청되는 순서대로 값을 생성.)

  - nocycle는 최대값에 도달한후 순환하지 않겠다. cycle는 순환을 하겠다.


2.

SELECT SEQ_DUAL.CURRVAL from dual;

  - 현재 시퀀스의 번호를 확인한다.


3.

CREATE

OR REPLACE TRIGGER DUAL_1_TRIGGER

BEFORE INSERT

ON DUAL_1

REFERENCING NEW AS NEW

FOR EACH ROW

BEGIN

 SELECT SEQ_DAUL.NEXTVAL INTO :NEW.ID_NUM FROM dual;

END;

  - SEQ_DUAL이라는 시퀀스를 DUAL_1테이블의 ID_NUM이라는 컬럼에 자동적용되게 설정하는 트리거 생성.


4.

DUOP SEQUENCE seq_dual;

  - 시퀀스 삭제.


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

[ORACLE] INSERT SELECT  (0) 2015.04.09
[ORACLE] UPDATE SELECT  (0) 2015.04.09
[ORACLE] auto-increment 생성하기.  (0) 2013.12.20
[ORACLE] SESSION KILL  (0) 2013.12.20
[ORACLE] LPAD and INSTR  (0) 2011.08.09
[ORACLE] decode  (0) 2011.07.22

가끔 오라클에서 테이블을 수정을할때 오류가 생기는 경우가 있다 그럴경우 사용하는 방밥이다.


INACTIVE kill 처리


SELECT a.SID, a.serial# 

FROM v$session a, v$lock b, dba_objects c 

WHERE a.SID=b.SID AND 

b.id1=c.object_id AND 

b.TYPE='TM' AND 

c.object_name='테이블명';   //테이블명


위에 쿼리로 조회후

해당되는 sid, serial을 입력하고 아래 쿼리로 kill을 한다.


alter system kill session 'SESSION_ID,SERIAL_NO';

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

[ORACLE] UPDATE SELECT  (0) 2015.04.09
[ORACLE] auto-increment 생성하기.  (0) 2013.12.20
[ORACLE] SESSION KILL  (0) 2013.12.20
[ORACLE] LPAD and INSTR  (0) 2011.08.09
[ORACLE] decode  (0) 2011.07.22
[ORACLE] sign  (0) 2011.07.22
오늘 회사왔는데 이런.. 데이터를 뽑아달라고 요청을 했다.
그런데 연락처를 000000000000 이런식으로 12자리로 달란다.. ㅜㅜ

엑셀로 해야되나 어떻게 해야되나 찾다가 ㅋ 고맙게도 오라클에 함수가 있어서
나름 열심히 응용을해서 리스트를 건냈다..

바로 LPAD와 INSTR, SUBSTR을 사용을 해서 출력을 했다.
참고마운 함수인거 같다.. ㅋㅋ

LPAD함수는 (data,data의 총길이,체워넣을값) 이렇게 사용을 한다.
위와같은 식으로 사용을 하면 총길이에 모자른 만큼 체워넣을값으로 데이터의 왼쪽에 표시를 한다.

그리고 INSTR함수는 (data,구분자,시작점,끝점) 이런식으로 사용을한다.
INSTR함수는 리턴되는 값이 데이터의 길이값이다.

예제는 아래와 같다.

SELECT LPAD (SUBSTR ('http://www.soulroad.net',
                     0,
                     INSTR ('http://www.soulroad.net', '.', 1, 1) - 1
                    ),
             21,
             '0'
            ) AS "결과"
  FROM DUAL;

결과> 00000000000http://www

2)
SELECT LPAD (SUBSTR ('http://www.soulroad.net',
                     0,
                     INSTR ('http://www.soulroad.net', '.', 1, 2) - 1
                    ),
             21,
             '0'
            ) AS "결과"
  FROM DUAL;

결과> 00http://www.soulroad

3)
SELECT LPAD (SUBSTR ('http://www.soulroad.net',
                     INSTR ('http://www.soulroad.net', '.', 1, 1) + 1,
                     INSTR ('http://www.soulroad.net', '.', 1, 2) - 1
                    ),
             21,
             '0'
            ) AS "결과"
  FROM DUAL;
  
결과> 000000000soulroad.net


ㅋㅋ 잊지말자. 홧팅~ 

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

[ORACLE] auto-increment 생성하기.  (0) 2013.12.20
[ORACLE] SESSION KILL  (0) 2013.12.20
[ORACLE] LPAD and INSTR  (0) 2011.08.09
[ORACLE] decode  (0) 2011.07.22
[ORACLE] sign  (0) 2011.07.22
[ORACLE] translate(특정문자 제거)  (0) 2011.07.22
이번 함수는 비교연산자라 하면 편할것 같다.

사용방법은 간단하다.

select decode(데이터 값, 비교 값, 참일경우 도출값, 거짓일경우 도출값) from dual; 

ex)
select decode(-1,1,3,4) from dual; 
-> 4 
select decode(1,1,3,4) from dual; 
-> 3

이나온다.
참 간단하고 사용하기가 편하나.

case 문과 비슷하나 사용방법이 편리한거 같은데
depth가 길어지면 성능이 저하된다고 한다고 한다.


select decode(데이터 값
, 비교 값1, 참일경우 도출값1, 비교 값2, 참일경우 도출값2, 비교 값3, 참일경우 도출값3, 거짓일경우 도출값) from dual; 

ex)
select decode(-1,1,7,2,8,3,9,0) from dual; 
-> 0 
select decode(2,1,7,2,8,3,9,0) from dual
-> 8

이렇게 되는 식이다.
잊지말자.. 


 

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

[ORACLE] SESSION KILL  (0) 2013.12.20
[ORACLE] LPAD and INSTR  (0) 2011.08.09
[ORACLE] decode  (0) 2011.07.22
[ORACLE] sign  (0) 2011.07.22
[ORACLE] translate(특정문자 제거)  (0) 2011.07.22
[Oracle] commit 후 데이터 복구  (2) 2011.03.29
음.. 이번주는 정말 힘든 하루인거 같다..
잘모르는 sql은 정말... ㅠㅡ
허나 남의 주머니에서 돈을 꺼내는것이 쉽지만은 않다.(월급)

sign() 이라는 함수를 쓰게 되어서 이렇게 올린다.
사용방법은 간단하다.

sign(number type);
ex)
sign(1) 
or  sign(0.5) or  sign(0) or sign(-1)

1 , 1, 0, -1

이러한 값을 도출해낸다.

양수일경우 1이 표기되고 음수일경우 -1 0일경우는 0이다.
오옷.. 이러한 좋은것이...
간단하고도 설명도 편하고 딱 떨어지고 참 좋다. 

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

[ORACLE] LPAD and INSTR  (0) 2011.08.09
[ORACLE] decode  (0) 2011.07.22
[ORACLE] sign  (0) 2011.07.22
[ORACLE] translate(특정문자 제거)  (0) 2011.07.22
[Oracle] commit 후 데이터 복구  (2) 2011.03.29
ORACLE 소수점이하 삭제.  (0) 2010.07.07

+ Recent posts