ROWID là vị trí thực của một hàng. Do đó, đây là cách nhanh nhất để định vị một hàng, nhanh hơn cả tra cứu khóa chính. Vì vậy, nó có thể hữu ích trong một số loại giao dịch nhất định trong đó chúng tôi chọn một số hàng, lưu trữ ROWID của chúng và sau đó sử dụng ROWID trong where
các mệnh đề cho DML đối với các hàng tương tự.
Cú pháp Oracle SELECT ... FOR UPDATE sử dụng hoàn toàn ROWID, khi chúng tôi cập nhật hàng bị khóa bằng cách sử dụng WHERE CURRENT OF. Ngoài ra, bảng EXCEPTIONS (được tham chiếu khi áp dụng các ràng buộc với mệnh đề EXCEPTIONS INTO) có một cột ROW_ID. Điều này cho phép chúng tôi nhanh chóng xác định các hàng đang phá vỡ ràng buộc của chúng tôi.
Ví dụ sau chỉ ra một cách sử dụng chung khác:khi chúng ta đang viết một số đoạn mã chung và cần một cơ chế để lưu trữ UID mà không cần quan tâm đến kiểu dữ liệu, khóa tổng hợp, v.v.
Mặt khác, ROWNUM là một cột giả gắn thẻ một hàng trong một tập kết quả nhất định. Nó không có ý nghĩa vĩnh viễn.
chỉnh sửa
ROWID cho một bản ghi nhất định có thể thay đổi trong suốt thời gian tồn tại của hệ thống, chẳng hạn như thông qua việc xây dựng lại bảng. Ngoài ra, nếu một bản ghi bị xóa, một bản ghi mới có thể được cấp ROWID đó. Do đó, ROWID không thích hợp để sử dụng làm UID về lâu dài. Nhưng chúng đủ tốt để sử dụng trong giao dịch.