분류 전체보기 (328)
.NET (111)
S/W tip (35)
etc (63)
DB (34)
HOT item~! (48)
Disign pettens (4)
UX (6)
나의 S/W (2)
개발관련 이슈 (16)
Diary (1)
웹플러스 (1)
calendar
«   2024/05   »
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
tags
archive
link
ColorSwitch 00 01 02
▣  DB - 해당되는 글 34건

▣  procedure - DB - 2011. 2. 28. 18:59
개념

1. 특정한 작업을 수행하는 SQL문을 논리적으로 그룹화한 것

2. 연속된 SQL문을 하나로 모아 SQL서버에 미리 컴파일해서 저장해 놓은 것

3. 클라이언트로부터 호출문을 통해 복잡한 SQL의 일괄 작업을 수행하는데 적합하다.

구성

선언부 : 타입,커서, 상수, 변수, 내포된 서브 프로그램을 선언하는 부분
실행부 : 코드 실행을 제어하고 데이터를 조작하는 문장들을 작성하는 부분
예외 처리부 : 프로시저 실행중에 발생하는 예외를 처리하는 부분

장점

1. 모듈별 프로그래밍 허용
  - 프로시저를 한 번만만들어 데이터베이스에 저장한 후 여러 프로그램에서 계속해서 호출하여 사용할 수 있다.

2. 빠른 SQL 실행 시간
  - 프로시저는 만들어질 때 구문이 분석되고 최적화된다.
  - 프로시저는 하 번 실행된 후에는 메모리에 캐시되어 다음 실행에서는 빠르게 실행될 수 있다.

3. 보안성 향상
  - 사용자가 프로시저를 통해서만 데이터에 접근할 수 있도록 사용자에 대한 데이터베이스 접근 권한을 제한

4. 네트워크 통신량 감소
  - 응용 프로그램에서는 수백 줄의 SQL코드를 필요로 하는 작업을 네트워크로 보내지 않아 네트워크 통신량 감소  

프로시저 생성 예)

CREATE [OR REPLACE] PROCEDURE 프로시저명(파라미터) [지역변수 선언] 프로시저 BODY;

OR REPLACE : 선택적인 예약어, 이 예약어를 사용하면 동일한 프로시저 이름이 이미 존재하는 경우, 기존의 프로시저를 대체할 수 있다.

프로시저명 : 생성하려는 프로시저의 이름

파라미터 : 프로시저 파라미터로는 다음과 같은 것들이 온다.

 - IN : 호출되는 프로시저에 값을 잔달하는 것을 지정
 - OUT : 프로시저가 그 호출 프로그램에게 값을 반환한다는 것을 지정
 - INOUT : 프로시저에 ㄱ밧을 잔달하고, 프로시저 실행 후 호출 프로그램에 값을 반환해야 한다는 것을 지정
  - 프로시저 BODY  : 프로시저의 본문 코드를 기록하는 부분
 - BEGIN으로 시작해서 END로 끝나는 데 적어도 하나의 SQL문이 있어야 한다. 없을 경우 오류 발생
 - 변수에 값을 치화할 때는 예약어 'SET' 사용






 오라클 DB를 사용중 delete문을 잘못 이용하여 지워야 하지 말아야 할 데이터를 지웠을 경우..
거기다가 commit 까지 완료했을 경우 다행이 복구 할 수 있는 방법이 존재했다.

SELECT * FROM TEST AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '30' MINUTE);


위의 명령어를 사용하면 TEST 테이블에 30분전의 상태를 보여주게 된다.
만약 DATA를 삭제한 시간이 30분이 지나지 않았다면 삭제하기 전의 DATA를 확인 할 수 있을 것이다.
그렇다면 위의 명령어를
서브쿼리로 하여 INSERT 해주면 된다.

INSERT INTO TEST
SELECT * FROM TEST AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '30' MINUTE);


이렇게 하면 DATA가 30분전 상태로 복구 될 것이다.
정확하진 않지만 Oracle에서 허용하는 시간은 2시간 이나 3시간 정도라고 하는것 같다.
그 이후에는 복구하고 싶어도 복구 할 수 없다는 뜻이다.
최대한 빠른 시간에 구하는 것이 안전하고, 처음부터 쿼리와 Data를 잘 확인하여 이런일이 발생하지 않게 하는것이 가장 좋겠다.

 

원문링크 : http://jinuws.tistory.com/entry/Oracle-commit-데이터-복구


▣  toad에서 엑셀파일로 저장 - DB - 2010. 8. 16. 16:09

http://www.pmguda.com/700

토드에서 쿼리를 실행한 후에 결과를 엑셀 파일로 저장하려면

결과 출력 부분에서 Script Output에서 Grid 를 선택하면 아래와 같이 빨간 네모 박스 부분이 활성화 된다.



위에 빨간 박스 모양을 클릭하면 원하는 형태의 파일로 출력할수가 있다.

그리고 엑셀로 출력시 한글 깨짐 현상이 발생하는데 그에 대한 해결은 설정 옵션을 추가 하면 된다.


출력전에 Write Wide String 옵션에 체크를 하고 해보자.. 그럼 정상적으로 출력 되는걸 확인 할수 있다.

Excel 파일로 Export 된 데이터를 Import 하려면 메뉴에서 Database -> Import -> Import Table Data

Import 하는 방법을 스샷으로 간단하게 훑어 보자.








내 남자의 길~! 블로그를 구독하고 싶으시면 Click --->



http://blog.naver.com/aircook?Redirect=Log&logNo=90010807470


토드에서 엑셀을 이용한 데이터 넣기

DBA MASTER만 있는 기능인줄 알았는데..

TOAD도 존재하고 있었구먼..

역시나 기특한 두꺼비 녀석~

다음은 테이블 하나를 대상으로 진행과정을 스크린샷으로 받은것이다..

따라해보면 금방 이해갈듯

 

버전 : TOAD For Oracle 8.6.0.38

 


 















articles
recent replies
recent trackbacks
notice
Admin : New post