Commenti SQL su Crea tabella su SQL Server 2008

Devo creare alcune tabelle piuttosto grandi in SQL Server 2008, mentre ho SQL Server Management Studio, vorrei commentare le tabelle e le colonne quando creo la tabella. Come faccio a fare questo?

Esempio della query che sto eseguendo:

CREATE TABLE cert_Certifications ( certificationID int PRIMARY KEY IDENTITY, profileID int, cprAdultExp datetime null ) 

Ho provato COMMENT’Expiration Date per il CPR per adulti ‘e COMMENT =’ Data di scadenza per il CPR per adulti ‘dopo il tipo di dati e SQL Server mi sta dando un errore.

È ansible inserire commenti su entrambe le tabelle e le colonne creando le cosiddette Proprietà estese. È ansible inserire proprietà estese sia a livello di tabella che a livello di colonna. Questo può essere fatto tramite T-SQL o SSMS.

Ad esempio, in T-SQL sembra qualcosa del genere:

 sp_addextendedproperty 'BackColor', 'Red', 'user', '', 'table', ''.

Puoi leggere di più qui

Questo è quello che uso

 /*==============================================================*/ /* Table: TABLE_1 */ /*==============================================================*/ create table TABLE_1 ( ID int identity, COLUMN_1 varchar(10) null, COLUMN_2 varchar(10) null, constraint PK_TABLE_1 primary key nonclustered (ID) ) go declare @CurrentUser sysname select @CurrentUser = user_name() execute sp_addextendedproperty 'MS_Description', 'This is my table comment', 'user', @CurrentUser, 'table', 'TABLE_1' go declare @CurrentUser sysname select @CurrentUser = user_name() execute sp_addextendedproperty 'MS_Description', 'This is the primary key comment', 'user', @CurrentUser, 'table', 'TABLE_1', 'column', 'ID' go declare @CurrentUser sysname select @CurrentUser = user_name() execute sp_addextendedproperty 'MS_Description', 'This is column one comment', 'user', @CurrentUser, 'table', 'TABLE_1', 'column', 'COLUMN_1' go declare @CurrentUser sysname select @CurrentUser = user_name() execute sp_addextendedproperty 'MS_Description', 'This is column 2 comment', 'user', @CurrentUser, 'table', 'TABLE_1', 'column', 'COLUMN_2' go 

Preferisco la GUI quando desinging tables perché posso visualizzare meglio il layout. Nel progettista della GUI si può aggiungere una descrizione per la tabella e le colonne nella finestra delle proprietà come mostrato nell’immagine sottostante alt text

Ci sono buone risposte in questo post. Aggiungendo che il valore “MS_Description” potrebbe essere un’altra cosa. Ad esempio, possiamo usare ‘SourceDescription’ per i dettagli sull’origine dei dati, ‘TableDescription’ per table e ‘ColumnDescription’ per ogni colonna sulla tabella.

Esempio:

 -- Create example table create table testTablename( id int, name varchar(20), registerNumber bigint ) -- SourceDescription EXEC sys.sp_addextendedproperty @name=N'SourceDescription', @value=N'Result of process x union y ' , -- Comment about the source this data. @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'testTableName' -- Name of Table -- TableDescription EXEC sys.sp_addextendedproperty @name=N'TableDescription', @value=N'Table is used for send email to clients.' , -- Coment about the used of table @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'testTableName' -- ColumnDescription EXECUTE sp_addextendedproperty @name = 'ColumnDescription', @value = 'Unique identification of employer. Its the registry of company too.', @level0type = 'SCHEMA', @level0name= N'dbo', @level1type = N'TABLE', @level1name = N'testTableName', @level2type = N'COLUMN', @level2name = N'registerNumber' -- If necessary, you can delete the comment. exec sp_dropextendedproperty @name = 'ColumnDescription', @level0type = 'SCHEMA', @level0name= N'dbo', @level1type = N'TABLE', @level1name = N'testTableName', @level2type = N'COLUMN', @level2name = N'registerNumber' -- Show you the table resume select tables.name tableName, tables.create_date, tables.modify_date, tableDesc.value TableDescription, sourceDesc.value SourceDescription from sys.tables left join sys.extended_properties tableDesc on tables.object_id = tableDesc.major_id and tableDesc.name = 'TableDescription' left join sys.extended_properties sourceDesc on tables.object_id = sourceDesc.major_id and sourceDesc.name = 'SourceDescription' where tableDesc.name in('TableDescription', 'SourceDescription', 'ColumnDescription') order by tables.name -- show you the columns resume select tables.name tableName, columns.name columnName, extended_properties.value from sys.tables inner join sys.columns on tables.object_id = columns.object_id left join sys.extended_properties on tables.object_id = extended_properties.major_id and columns.column_id = extended_properties.minor_id and extended_properties.name in('MS_Description','ColumnDescription') where tables.name = 'testTableName' 

È necessario utilizzare la stored procedure denominata sp_addextendedproperty per aggiungere commenti a colonne / tabelle in Sql Server.

usa questo comando sql

Create table TABLE NAME (ATTRIBUTE NAME (ATTRIBUTE SIZE)) // sia la create che la table sono parole chiave