Versão curta: Existe alguma maneira de compilar condicionalmente partes do código TSQL em um Projeto de Dados do SQL Server usando o SQL Server Data Tools para Visual Studio 2010?
Estou usando o SQL Server Data Tools no Visual Studio 2010 para trabalhar em um banco de dados experimental do SQL Server Express. O destino final, se as coisas funcionarem bem, seria uma plataforma corporativa do SQL Server. Eu tenho uma instância de 2008 em uma caixa e uma instância de 2012 em outra, porque minha empresa está migrando de 2008 para 2012 para os muitos bancos de dados corporativos.
Em outras linguagens de programação que usei, as diretivas de pré-processador facilitam a compilação condicional de partes de uma base de código. Os usos mais comuns para isso são ter códigos diferentes para plataformas diferentes em seções restritas ou excluir o código de saída de depuração das compilações de versão .
Ambos podem ser muito úteis em alguns procedimentos de armazenamento em que estou trabalhando. Existe algo assim disponível? Sei que posso usar sqlcmd
variáveis para trocar valores específicos durante a implantação, mas não consigo descobrir como usá-lo para incluir ou excluir trechos de código subsequentes.
Exemplo:
#IF $(DebugVersion) = 'True'
-- A bunch of useful PRINTs and what not
#ELSE
SET NOCOUNT ON
#ENDIF
#IF $(SSVersion) = '2012'
SET @pretty_date = FORMAT(@some_date, 'dddd, MMM dd, yyyy')
#ELSE
SET @pretty_date = CAST(@some_date AS nvarchar(12))
#ENDIF
fonte