메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 SQL Server

뇌를 자극하는 SQL Server 질의응답 게시판입니다.

질문입니다...

2011-06-04

|

by 질문이용

1668

SQL SERVER 2005 교재로 공부하고 있는 학생입니다....


트랜잭션에 관한 질문입니다. 513쪽에서 실습에서 1번 문제 입니다.

자동 커밋 트랜잭션 에서 개수를 파악하는 예문에서

자동커밋트랜잭션은 INSERT 나 UPDATE에서 자동적으로 적용 되는걸로 앞에서 배운거 같습니다.

INSERT INTO testTb1 DEFAULT VALUES; 이를 한번만 입력했다고 하면,

tranNum 이 INSERT 문 한번이기때문에 1이 되어야 되는것 아닙니까?

그리고 2번을 입력했다고 하면, 앞의 INSERT문이 COMMIT이나 ROLLBACK을 했기때문에

id 가 1,2,3,일때 다 같은 값을 가지는겁니까?

만약에, 트리거 안의 INSERT도 처리 되어 2가 되는것인가요?

그리고 왜 트리거가 사용되었는지....알려주세요~



추가질문 )))
DECLARE @id int
SELECT @id =id From inserted
INSERT INTO tranTb1 VALUES (@id, @@trancount)

에서 @id 가 id와 다른점, 그리고
그냥 변수를 설정해서 사용자가 입력하면 그 수를 받아 들인다는 것인지?
Inserted 테이블은  예문에서 정의되지 않았는데,, 따로 생성되어져있는 테이블인지?

이거관련해서 변수에 관한질문입니다.
@cnt Output 이 의미를 알고싶습니다 ㅠㅠ
정확한 뜻을모르겠습니다.
또 EXEC 저장프로시저에서만 사용되는건가요?
위의 @ID 에도 사용되는건가요?
댓글 입력
자료실