Utilidades SQL - Introducir un campo en una tabla con un orden específico

Creado por David Miralpeix, Modificado el Fri, 16 Feb 2024 a las 12:26 PM por David Miralpeix

En ocasiones necesitamos crear un script de cambios de objetos SQL. Cuando tratamos con tablas de objetos, tenemos que meter un nuevo campo, éste debe de situarse antes de los campos IdDoc, FechaInsertUpdate, etc.
Con esta instrucción, podremos situar el nuevo campo en la tabla

zInsertaCampoTabla
parámetros:
@Tabla NVARCHAR(1000), -- Tabla en la que se quiere insertar el campo
@Campo NVARCHAR(1000), -- Nombre del campo a insertar
@Tipo NVARCHAR(1000), -- Tipo de dato del nuevo campo
@Nullable BIT, -- Si acepta o no valores NULL
@Antes NVARCHAR(1000), -- Nombre del campo antes del cual se insertará el nuevo campo
@CadenaDefault NVARCHAR(1000) = N'', -- Valor por defecto para el nuevo campo
@Debug BIT = 0, -- Si Debug=1, printa los scripts en vez de ejecutarlo
@RefrescaVistas BIT = 0 -- Si refresca vistas dependientes de la tabla

 

Código SQL:

IF NOT EXISTS(SELECT * FROM SYS.COLUMNS WHERE OBJECT_ID=OBJECT_ID('Facturas_Cli_MotivosRect') AND NAME='IdMotivoRect') BEGIN

EXEC zInsertaCampoTabla 'Facturas_Cli_MotivosRect','IdMotivoRect','INT',0,'MotivoRect','0'

END



¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo