OBJECT_ID
được sử dụng để xác định đối tượng duy nhất trong các bảng cơ sở hệ thống.
Đây là khóa chính của bảng cơ sở sys.sysschobjs
được sử dụng bởi chế độ xem siêu dữ liệu sys.objects
và xuất hiện ở nhiều chế độ xem siêu dữ liệu khác. ví dụ: sys.partitions
. Nếu bạn không truy vấn những khung nhìn này thì object_id
không phải là rất hữu ích ngoại trừ có lẽ khi sử dụng trong một kiểm tra cho sự tồn tại đối tượng như dưới đây.
IF OBJECT_ID('T', 'U') IS NULL
/*Table T does not exist or no permissions*/
Đối tượng phạm vi lược đồ là đối tượng thuộc về lược đồ (ví dụ: bảng, chế độ xem, thủ tục lưu trữ). Bài viết MSDN đưa ra một ví dụ về một đối tượng phạm vi không có lược đồ trong các trình kích hoạt DDL.
Đây là một lỗi để thử và xác định một schema khi tạo những
CREATE TRIGGER dbo.SomeTrigger /*Will Fail*/
ON DATABASE
FOR DROP_SYNONYM
AS
PRINT 'SomeTrigger'
Non schema scoped đối tượng siêu dữ liệu vẫn được lưu trữ trong sys.sysschobjs
nhưng không hiển thị trong giao diện sys.objects
.
Nguồn
2012-02-21 10:48:09