[SQLServer] Hàm hệ thống (Phần 1)

Trong quá trình xử lý trong SQL Server, đôi khi cần sử dụng một số hàm và chức năng của SQL Server, có khoảng 30 hàm hệ thống, trong bài viết này chúng ta sẽ tìm hiểu một số hàm hệ thống thường xuyên sử dụng

Hàm hệ thống Mục đích Diễn giải
@@IDENTITY Trả về giá trị nhận dạng cuối cùng của phát biểu INSERT hay SELECT INTO Nếu có nhiều mẩu tin thêm vào cùng một lúc thì chỉ có một giá trị trả về.
@@ROWCOUNT Một trong những hàm hệ thống thông dụng nhất. Hàm này trả về số lượng mẩu tin có ảnh hưởng đến phát biểu SQL cuối cùng Có thể thay đổi bằng cách sử dụng thủ tục sp_addserver
@@ERROR Trả về số lượng lỗi của phát biểu SQL sau cùng của kết nối đang mở. Giá trị này sẽ khởi tạo lại khi có một phát biểu SQL kế tiếp. Nếu bạn muốn sử dụng hàm này trong quản trị thì dùng biến để lưu trữ giá trị này.
@@FETCH_STATUS Sử dụng chung với các phát biểu FETCH Trả về 0 nếu đọc mẩu tin hợp lệ, -1 cursor đang ở cuối bảng, -2 mẩu tin đó đã bị xóa.
@@LANGID

@@LANGUAGE

Trả về ngôn ngữ hay ID của ngôn ngữ đang dùng trong cơ sở dữ liệu Không có lỗi runtime error, ví dụ khi xóa hay cập nhật mà không có mẩu tin phù hợp thì không xuất hiện lỗi.
@@SERVERNAME Trả về tên của máy chủ cục bộ mà những kịch bản SQL đang thực thi
@@TRANCOUNT Trả về số lượng các nghiệp vụ trong SQL Server với kết nối hiện tại. COMMIT TRAN sẽ có giá trị là 1, ROLLBACK TRAN sẽ có giá trị 0
@@OPTIONS Trả về thông tin những lựa chọn khi phát biểu gán SET được thực thi.

1. Hàm @@IDENTITY

@@IDENTITY sử dụng để lấy các giá trị tự động tăng sau khi thực hiện lệnh INSERT hay SELECT INTO

Ví dụ 1: Lấy giá trị CategoriID của bảng Categories sau khi thêm 1 bản ghi mới

Hình 1. Dữ liệu bảng Categories trước khi thêm bản ghi mới

Kết quả:

@@Identity in SQL Server
Hình 2. Kết quả sử dụng hàm Identity

2. Hàm @@ROWCOUNT

Hàm @@ROWCOUNT trả về số lượng mẩu tin trong bảng vừa truy vấn.

Ví dụ 2: Đếm số lượng khách hàng có mã bưu chính là 100000

Hình 1. Dữ liệu bảng KhachHang
Hình 3. Dữ liệu bảng KhachHang

Kết quả:

Hình 4. Hàm ROWCOUNT đếm số lượng bản ghi thực thi

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.