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