2008-12-18 41 views
20

Có thể thêm mô tả hoặc nhận xét giống như siêu dữ liệu vào bảng trong Microsoft SQL 2000 trở lên không?Có thể thêm mô tả/nhận xét vào bảng trong Microsoft SQL 2000+

Bạn sẽ làm điều này như thế nào thông qua câu lệnh CREATE TABLE?

Có thể thêm mô tả hoặc nhận xét vào trường không?

Làm thế nào để bạn truy vấn lại thông tin này trong MSSQL 2000? 2005?

Trả lời

26

Sử dụng các thuộc tính mở rộng. Ví dụ để thêm một tài sản mở rộng đến một bảng trong lược đồ dbo bạn có thể sử dụng:

EXEC sys.sp_addextendedproperty @name=N'<NameOfProp>', 
@value=N'<Value>' , @level0type=N'SCHEMA',@level0name=N'dbo', 
@level1type=N'TABLE',@level1name=N'<Table>' 

Bạn có thể cập nhật chúng:

EXEC sys.sp_updateextendedproperty 
    @name=N'MS_Description', @value=N'My Description' , 
    @level0type=N'SCHEMA',@level0name=N'dbo', 
     @level1type=N'TABLE' 
    ,@level1name=N'<YOUR TABLE NAME>' 

Bạn có thể đọc chúng thích:

SELECT * 
FROM fn_listextendedproperty (NULL, 'schema','dbo', 'table', '<yourtable>', default, default); 

hoặc

SELECT 
p.name AS [Name],p.value 
FROM 
sys.tables AS tbl 
INNER JOIN sys.extended_properties AS p ON p.major_id=tbl.object_id AND p.minor_id=0 AND p.class=1 
WHERE 
(tbl.name=N'<yourtablename>' and SCHEMA_NAME(tbl.schema_id)=N'dbo') 
ORDER BY 
[Name] ASC 
+0

Có nhưng bạn không lý tưởng không nhìn vào nội dung này nhưng sử dụng ứng dụng cho phép bạn đọc và viết nhận xét. Bạn cũng có thể thêm chúng thông qua Sql Mgmt Studio. – JoshBerke

3

Hầu hết các công cụ và mọi người sử dụng Thuộc tính mở rộng để hỗ trợ việc này. Tên chung được sử dụng bởi SSMS là MS_Description

Có một số quy trình được lưu trữ để tạo các thuộc tính này cũng như đọc chúng, chúng thay đổi theo thời gian để có sự khác biệt giữa các phiên bản SQL.

9

Bạn chắc chắn có thể sử dụng SP được đề cập ở trên để làm điều đó, tuy nhiên, có một cách dễ dàng hơn để làm điều đó và tôi tin rằng MGT Studio sẽ là lựa chọn đầu tiên của bạn để thực hiện những thay đổi này trừ khi bạn đang cố gắng tự động hóa mọi thứ bằng cách sử dụng tập lệnh. Dưới đây là làm thế nào để làm điều đó: enter image description here

1- Nhấp chuột phải trên bàn

2- Bấm vào Thiết kế

3 Comment như trình bày ở trên

Chỉ cần để bạn có một câu trả lời hoàn chỉnh , đây là một kịch bản đơn giản hơn để thay đổi nó (đơn giản hơn so với các câu trả lời ở trên):

DECLARE @v sql_variant 
SET @v = N'Comment here' 
EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Stack_testing', N'COLUMN', N'testinghere' 
0

Thật không may, cách tiếp cận này không phải là áp dụng cho môi trường sản xuất được nạp cao. Các thủ tục được lưu trữ thao tác các thuộc tính mở rộng thiết lập một khóa độc quyền trên bảng đích. Trong khi chúng đang được thực hiện toàn bộ bảng là không đọc được.

Các vấn đề liên quan