2009-12-31 15 views
15

Alan açıklamasının mülkün ömrünü uzatacağı ve nasıl alabileceğimiz hakkında pek çok yayın görebiliyorum, ancak bunları CREATE TABLE aşamasında ekleme hakkında hiçbir şey göremiyorum.SQL Server - CREATE TABLE alanında alan açıklamaları ekleyebilir misiniz?

Dinamik olarak alan tabloları oluşturarak tabloları dinamik olarak oluşturuyorum. Yapılması gereken düzenli bir şey olurdu ama bir yol göremiyorum.

Bunu yapmayı hiç kimse başardı mı?

cevap

25

sen CREATE TABLE bunu yapamaz iken, this approach kullanarak aynı veritabanı komut dosyasında, aynı anda yapabilirsiniz:

CREATE table T1 (id int , name char (20)) 

EXEC sp_addextendedproperty 'MS_Description', 'Employee ID', 'user', dbo, 'table', 'T1', 'column', id 

EXEC sp_addextendedproperty 'MS_Description', 'Employee Name', 'user', dbo, 'table', 'T1', 'column', name 

Sonra bu kullanarak girdileri görebilirsiniz:

SELECT * 
FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'T1', 'column', default) 
+0

Awsome tam olarak istediğimi yapıyor. Çok teşekkürler. – Mike

+1

Bu benim için çalışıyor, ancak 'schema' olmak için 'level0Type 'özelliğini değiştirmem gerekiyordu, yani:' EXEC sp_addextendedproperty 'MS_Description', 'Çalışan Kimliği', 'şema', dbo, 'table', 'T1' 'sütun', id; ' – robyaw

2

Tablo T-SQL deyiminin bunu desteklediğine inanmıyorum. Ancak, tablolarınızı SSMS ile tanımlıyorsanız, tablonuzu oluşturduğunuz anda tablo seviyesini ve sütun seviyesi yorumlarını kolayca girebilirsiniz.

+0

Merhaba, Cevabınız için teşekkürler, pipetlerde debeleniyor olduğumu biliyorum, SSMS ile söylediğiniz gibi yapabilirim ama programatik olarak anında bir tablo oluşturuyorum. CREATE TABLE komutumu bir dizi başka rutin üzerinde oluşturuyorum ve sadece bir yorumda ya da iki yolda jab yapıp yapamayacağımı merak ettim. Birinin bir yolunu bulduğunu veya bunu yapmak için uğraştığını umuyorum. Teşekkürler – Mike

+0

Programlı olarak anında bir tablo oluşturuyorsanız, neden genişletilmiş özelliği de programsal olarak eklemeyin? –