private string ObterConteudoArquivoExecucao(string nomeProcedure) { StringBuilder conteudo = new StringBuilder(); Informacoes informacoes = new Informacoes(ObterConexao()); InformacaoProcedure procedure = informacoes.ObterDadosProcedure(nomeProcedure); if (procedure == null || string.IsNullOrWhiteSpace(procedure.NomeProcedure)) { throw new Exception($"Procedure {nomeProcedure} não encontrada."); } conteudo.AppendLine($"USE {txtBaseDados.Text.Trim()}"); conteudo.AppendLine("GO"); conteudo.AppendLine("BEGIN TRAN"); conteudo.AppendLine(""); conteudo.AppendLine(" SET STATISTICS IO ON;"); conteudo.AppendLine(""); conteudo.AppendLine($" EXEC {procedure.Schema}.{procedure.NomeProcedure}"); int quantidadeParametros = procedure.Parametros.Count; int contadorParametros = 1; foreach (var parametro in procedure.Parametros) { conteudo.AppendLine($" {parametro.NomeParametro} = '{ObterParametroDefault(parametro.NomeParametro, parametro.Tipo)}'{(contadorParametros < quantidadeParametros ? "," : "")}"); contadorParametros += 1; } conteudo.AppendLine(""); conteudo.AppendLine(" SET STATISTICS IO OFF;"); conteudo.AppendLine(""); conteudo.AppendLine("ROLLBACK TRAN"); conteudo.AppendLine("GO"); return(conteudo.ToString()); }