트랜잭션

## 트랜잭션: 하나 이상의 작업이 모여 이루어진 하나의 논리적인 작업 단위로서 한번에 수행되어지는 작업.

+ 트랜잭션의 조건
원자성 - 트랜잭션은 더 이상 나눌 수 없는 단위로 구성되어야 한다.
일관성 - 트랜잭션이 수행된 후 모든 데이터는 무결성을 유지해야 한다.
격리성 - 현재 변경 작업이 진행중인 트랜잭션의 대상 데이터는 잠금 상태(LOCK)가 되어 다른 트랜잭션에 의해 접근이 허용되어서는 안된다.

@ 자동커밋 트랜잭션
- SQL-SERVER는 기본 트랜잭션 모드가 자동 커밋으로 동작한다.
@ 명시적 트랜잭션
- 트랜잭션의 시작과 끝을 모두 명시하는 방법으로 BEGIN TRAN, COMMIT TRAN, ROLLBACK TRAN 문 등을 이용한다.
명시적 트랜잭션은 ROLLBAKC 이나 COMMIT 으로 끝나지 않으면 트랜잭션이 계속 잠금상태로 남아 있으므로 주의해야 한다.

BEGIN TRAN - 명시적 트랜잭션의 시작 위치

COMMIT TRAN - 데이터 변경작업의 결과를 실제 데이터베이스에 적용하도록 하는 구문. COMMIT 된 후의 데이터베이스는 변경전으로 되돌릴 수 없다.

ROLLBACK TRAN - 데이터 변경작업 취소하고, 데이터베이스의 내용은 트랜잭션 작업 이전의 상태로 되돌린다. 여기서 전체 트랜잭션의 내용을 취소하지 않기 위해 특정 지점에 저장점(SAVE POINT)을 지정하면 저장점이 있는 부분까지만 트랜잭션을 취소할 수 있다.

SAVE TRAN - 저장점을 지정하기 위한 구문으로 지정된 저장점까지 ROLLBACK으로 트랜잭션을 취소할 수 있다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/03/11 23:55 2007/03/11 23:55
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2313

트리거(TRIGGER)

## 트리거 ( TRIGGER )

어떤 테이블의 데이터가 변경될때 자동으로 지정된 어플리케이션이 동작한다던지 다른 테이블의 데이터를 변경하도록 설계된 저장프로시저의 특별한 형태.
저장프로시저와 달리 직접 호출되어 동작하지 않고 자동으로 호출되어 실행되며 매개변수도 사용할 수 없다.

생성 : CREATE TRIGGER
삭제 : ALTER TRIGGER
수정 : DROP TRIGGER


CREATE TRIGGER 트리거이름
ON 테이블[뷰]
FOR { INSERT | DELETE | UPDATE }
AS
[BEGIN]
SQL문
[END]

create
alter trigger trg_tbl_member
on tbl_member
for update
as
declare @nickname varchar(32),@userid varchar(32)
begin
select @nickname = nickname, @userid= userid from tbl_member d where userid = d.userid
update tbl_blog set userNick = @nickname where userid = @userid
select @nickname, @userid
end
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/03/11 22:07 2007/03/11 22:07
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2312

저장 프로시저

저장 프로시저


- SQL문의 기능을 더욱 보강하여 데이터베이스 사용을 효과적으로 할 수 있도록 하는 것이 저장프로시저.

생성 : CREATE PROCEDURE
수정 : ALTER PROCEDURE
삭제 : DROP PROCEDURE


변수선언 : DECLARE @mem_id varchar(32)
SET @mem_id = '홍길동'

- 조건 처리
IF ~ELSE 문 : 각종 변수위 정위와 조건처리를 지원
WHILE 문 : 반복처리
BREAK,CONTINUE 문 : LOOP 문에서 벗어나기.
OUTPUT : 결과값을 응용프로그램에 반환해야 할때, 매개변수 선언시 사용.

- 시스템 저장프로시저
sp_helpdb : 모든 데이터베이스의 정보를 제공.
sp_help : 특정 데이터베이스의 모든 객체, 또는 지정한 하나의 객체에 대한 자세한 정보를 제공.
sp_helptext : 지정한 저장프로시저의 소스를 보여준다.
sp_helplogins : 현재 접속중인 사용자에 대한 정보 제공.
sp_fkeys : 지정된 테이블의 외래키를 보여준다.
sp_pkeys : 기본키 정보를 보여준다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/03/11 11:12 2007/03/11 11:12
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2310

뷰(view) 의 사용

뷰(view)란 실존 데이터를 가지고 있는 관계형 데이터베이스에서 하나 이상의 테이블을 근거로 하여 생성되는 것으로 작업의 결과를 임시로 보관하거나 복잡한 질의를 간소화하기 위해서 사용하는 하나의 가상테이블이다.

뷰 사용 효과
- 데이터의 독립성 효과
- 데이터의 보안 효과
- 다양한 구조의 테이블 사용효과
- 작업의 단순화
- 데이터의 무결성 효과

생성 : CREATE VIEW 뷰이름 AS SELECT filed1, filed2, ... FROM 테이블 [WHERE 조건] [WITH CHECK OPTION]

수정 : ALTER VIEW 뷰이름 AS SELECT filed1, filed2, ... FROM 테이블 [WHERE 조건]

삭제 : DROP VIEW 뷰이름



뷰를 이용한 데이터 검색,삽입,수정작업

SELECT * FROM 뷰이름 [WHERE 조건]
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/03/11 11:03 2007/03/11 11:03
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2309

부속질의(Subquery) 익히기

## 부속질의(Subquery) 익히기 ##

기호 : AND, OR, IN, NOT IN ...

1. select * from 상품 where ( 색상코드 = ( select 색상코드 from 색상분류 where 색상 = '그린' ) )

2. select * from 소분류코드 where ( 업체코드 IN ( select 업체코드 from 납품업체 where 업체명 IN ('우주','세현','동방') ) )

3. select 상품코드, 사이즈, 재고수량 from 상품 where ( 소코드 = ( select 소코드 from 소분류코드 where 소분류명 = '가죽쟈켓' ) ) and ( 색상코드 = ( select 색상코드 from 색상분류 where 색상 = '블랙' ) )

4. select 상품코드, 사이즈, 재고수량 from 상품 where 재고수량 < ( select AVG(재고수량) from 상품 )

5. select 소코드, AVG(재고수량) AS 소코드별평균 from 상품 group by 소코드 having ( AVG(재고수량) < ( select AVG(재고수량) from 상품 where 소코드 = 'S7' ) )
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/03/11 01:35 2007/03/11 01:35
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2308


블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2007/03   »
        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
Statistics Graph

Site Stats

Total hits:
241809
Today:
339
Yesterday:
1266