Welcome to Comedown's Blog Technology !
Loading...

Default transaction scope trong MS SQL Store Procedure

Người đăng: Unknown Thứ Tư, 15 tháng 7, 2009 Lượt xem: counter

Nếu không khai báo tường minh begin/end trans trong sql store procedure thì default transaction scope từ đâu đến đâu ?

Viết 1 storeproc in ra giá trị transaction count trong hai trường hợp, có khai báo và không khai báo begin tran

ALTER PROCEDURE TestTrans
AS

BEGIN tran
PRINT @@TRANCOUNT
COMMIT tran

EXEC TestTrans

Kết quả là nó in ra số 1 khi có khai báo và 0 khi không khai báo. Nguyên nhân do đâu ?

* M$ quan điểm một sql statement là một transaction, đây là đơn vị transaction nhỏ nhất được ms tự hiểu mà ko cần khai báo.

* Đối với trường hợp batch statement, buộc phải khai báo tường minh begin/end tran (oracle tự động set transaction khi execute một batch các statement).

* M$ cung cấp một option để setting ở mức server là SET IMPLICIT_TRANSACTIONS {On Off} (default là Off) cho phép tự động start một transaction khi execute một số statement và không đang ở trong một transaction khác.


Nguồn: :-Dzinh on tech

0 nhận xét

Đăng nhận xét

1. Vui lòng nhập tiếng việt có dấu.
2. Không sử dụng từ ngữ thô tục, trái với thuần phong mỹ tục.
3. Nội dung phải liên quan tới chủ đề bài viết, bạn có thể sử dụng một số thẻ HTML như <b>, <i>, <a>
4. Những nhận xét mang tính chất Đồi trụy, Quảng cáo, Spam hoặc không có tính xây dựng... sẽ bị xóa vĩnh viễn mà không cần báo trước.

Bài đăng Mới hơn Bài đăng Cũ hơn Trang chủ
Blogumulus by Roy Tanck and Amanda FazaniInstalled by CahayaBiru.com

Followers

Cộng đồng Blogger

Comedown's Blog
TruongGTGR - Nơi siêu xe hội tụ
Tư vấn tin học