Inquiridor
Dúvida - Script

Pergunta
-
Galera, bom dia.
Tenho que executar esse script no banco, tenho que fazer de uma maneira que caso aconteça algum erro, não fazer nada no banco. Como poderia estar fazendo?
aqui só está uma parte do script.
Obrigado.
USE [dtbBiz] GO ALTER TABLE tblCorColaborador ADD Colaborador_Sexo char(1) null, Colaborador_PIS varchar(11)null, Colaborador_Endereco_ID bigint null, Colaborador_Estabilidade_ID bigint null, Colaborador_Nome_Mae varchar(100) null GO ALTER TABLE tblCorCargo ADD CONSTRAINT fk_tblCorCargo FOREIGN KEY (Departamento_Codigo_ID) REFERENCES tblCorDepartamento(Departamento_Codigo) /****** Object: Table [dbo].[tbladmPerfil] Script Date: 12/04/2013 14:43:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[tbladmPerfil]( [IdPerfil] [int] IDENTITY(1,1) NOT NULL, [NmPerfil] [varchar](100) NOT NULL, [DsPerfil] [nvarchar](500) NULL, [FlgAcessoAdministracao] [bit] NOT NULL, [FlgAcessoAtendimento] [bit] NOT NULL, [DtCadastro] [datetime] NOT NULL, [IdUsuarioCadastro] [bigint] NOT NULL, [DtCancelamento] [datetime] NULL, [IdUsuarioCancelamento] [bigint] NULL, [FlgAtivo] [bit] NOT NULL, CONSTRAINT [PK_tbladmPerfil] PRIMARY KEY CLUSTERED ( [IdPerfil] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
Todas as Respostas
-
Antes de começar cada operação você pode começar uma transação:
BEGIN TRANSACTION --OPERAÇÃO IF @@ERROR = 0 COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION
- Sugerido como Resposta William John Adam Trindade quinta-feira, 5 de dezembro de 2013 13:11
-
-
-
@José Diz: Correçao:"Caso aconteça algum erro, pode-se desfazer a transação em curso, como explicado pelo Lennon Ferreira." :)
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
-
Galera, boa noite
Fiz como citado acima, no meu script deu algum erro, que estou verificando aqui.
Eu utilizando:
BEGIN TRANSACTION --OPERAÇÃO IF @@ERROR = 0 COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION
não era para bloquear as criações de tabelas que eu tinha em meu script?
Obrigado.
-
Fiz como citado ..., no meu script deu algum erro, que estou verificando aqui.
Eu utilizando:BEGIN TRANSACTION --OPERAÇÃO IF @@ERROR = 0 COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION
não era para bloquear as criações de tabelas que eu tinha em meu script?Felipe, se o script possui somente comandos de manutenção na estrutura do banco de dados (DDL - data definition language), então não cabe o uso de transação.
José Diz Belo Horizonte, MG - Brasil
(Se encontrou a solução nesta resposta, ou se o conteúdo foi útil, lembre-se de marcá-la)
José, bom dia.
Isso, o script só tem comandos de manutenção na estrutura, é possível fazer de alguma maneira (caso de algum erro, nada executar). Estou gerando meu script no meu banco de teste, toda vez que o script da erro, tenho que restaurar meu banco, queria fazer esse tratamento do script, que em breve tenho que rodar no servidor de produção.
Obrigado.