tablas - insertar datos en una tabla sql
SQL Server-¿Puede agregar descripciones de campo en CREAR TABLA? (4)
Puedo ver un montón de publicaciones acerca de dónde vive la descripción extendida del campo y cómo puedo obtenerla, pero nada acerca de agregarlas en la etapa CREAR TABLA.
Estoy creando tablas dinámicamente, por lo que agregar descripciones de campos de forma dinámica sería una tarea ordenada, pero no veo una forma.
¿Alguien ha logrado hacer esto?
Además de lo anterior, también puede usar SSMS para hacerlo. En SSMS, haga clic derecho en la tabla, seleccione Propiedades, luego haga clic en "Propiedades extendidas" (en el panel izquierdo). En el panel derecho, en el centro, hay un cuadro de "Propiedades", haga clic allí para darle un nombre y un texto a su descripción, como se muestra en la imagen adjunta.
No creo que la declaración Crear tabla T-SQL lo admita. Sin embargo, si está definiendo sus tablas a través de SSMS, puede ingresar fácilmente los comentarios a nivel de tabla y nivel de columna al mismo tiempo que crea su tabla.
SQL Server proporciona un procedimiento almacenado del sistema que le permite agregar descripciones, un par nombre-valor a la vez
Ejemplo como sigue:
EXEC sys.sp_addextendedproperty
@name=N''Column 2 Description'' -- Give your description a name
, @value=N''blah blah 2 for a specific column'' -- Actual description
, @level0type=N''SCHEMA''
, @level0name=N''dbo''
, @level1type=N''TABLE''
, @level1name=N''MyTestTable'' -- Name of your table
GO
Tendrías que repetir para cada par nombre-valor de la descripción.
Espero que esto ayude
Si bien no puede hacerlo en CREATE TABLE
, puede hacerlo al mismo tiempo, en el mismo script de base de datos, utilizando este enfoque :
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
Entonces puedes ver tus entradas usando esto:
SELECT *
FROM ::fn_listextendedproperty (NULL, ''user'', ''dbo'', ''table'', ''T1'', ''column'', default)