miércoles, 23 de agosto de 2017

SQL - Insertar columna en tabla.-

USE leaseoper
GO

SELECT * FROM  leaseoper..t_correccion_estado_pago


/* Para evitar posibles problemas de pérdida de datos, debe revisar este script detalladamente antes de ejecutarlo fuera del contexto del diseñador de base de datos.*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_t_correccion_estado_pago
                (
                periodo int NOT NULL,
                fecha_proceso smalldatetime NOT NULL,
                operacion numeric(20, 0) NOT NULL,
                origen_docto tinyint NULL, --CAMPO NUEVO
                id_documento int NOT NULL,
                fecha_compra smalldatetime NULL,
                factor_rev float(53) NOT NULL,
                monto_total_documento float(53) NOT NULL,
                mto_reval_ejercicio float(53) NULL,
                mto_reval_total float(53) NULL,
                fecha_ingreso datetime NULL,
                estado tinyint NULL
                )  ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_t_correccion_estado_pago SET (LOCK_ESCALATION = TABLE)
GO
GRANT DELETE ON dbo.Tmp_t_correccion_estado_pago TO Usuarios  AS dbo
GO
GRANT INSERT ON dbo.Tmp_t_correccion_estado_pago TO Usuarios  AS dbo
GO
GRANT SELECT ON dbo.Tmp_t_correccion_estado_pago TO Usuarios  AS dbo
GO
GRANT UPDATE ON dbo.Tmp_t_correccion_estado_pago TO Usuarios  AS dbo
GO
IF EXISTS(SELECT * FROM dbo.t_correccion_estado_pago)
                EXEC('INSERT INTO dbo.Tmp_t_correccion_estado_pago (periodo, fecha_proceso, operacion, id_documento, fecha_compra, factor_rev, monto_total_documento, mto_reval_ejercicio, mto_reval_total, fecha_ingreso, estado)
                               SELECT periodo, fecha_proceso, operacion, id_documento, fecha_compra, factor_rev, monto_total_documento, mto_reval_ejercicio, mto_reval_total, fecha_ingreso, estado FROM dbo.t_correccion_estado_pago WITH (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.t_correccion_estado_pago
GO
EXECUTE sp_rename N'dbo.Tmp_t_correccion_estado_pago', N't_correccion_estado_pago', 'OBJECT'
GO
ALTER TABLE dbo.t_correccion_estado_pago ADD CONSTRAINT
                pk_t_correccion_estado_pago PRIMARY KEY CLUSTERED
                (
                periodo,
                id_documento
                ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO
COMMIT
--Compruebo el cambio
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[t_correccion_estado_pago]') AND type in (N'U'))
SELECT * FROM  leaseoper..t_correccion_estado_pago



No hay comentarios:

Publicar un comentario