Versión corta: ¿hay alguna forma de compilar condicionalmente fragmentos de código TSQL en un proyecto de datos de SQL Server utilizando las herramientas de datos de SQL Server para Visual Studio 2010?
Estoy usando las herramientas de datos de SQL Server en Visual Studio 2010 para trabajar en una base de datos experimental de SQL Server Express. El destino final si las cosas funcionan bien sería una plataforma de SQL Server empresarial. Tengo una instancia de 2008 en una caja y una instancia de 2012 en otra, porque mi empresa también está migrando de 2008 a 2012 para las muchas bases de datos empresariales.
En otros lenguajes de programación que he usado, las directivas de preprocesador facilitan la compilación condicional de partes de una base de código. Los usos más comunes para esto son tener diferentes códigos para diferentes plataformas en secciones restringidas o excluir el código de salida de depuración de las versiones de lanzamiento .
Ambos pueden ser muy útiles en algunos procedimientos de la tienda en los que estoy trabajando. ¿Hay algo como esto disponible? Sé que puedo usar sqlcmd
variables para intercambiar valores específicos durante la implementación, pero no puedo entender cómo usar eso para incluir o excluir fragmentos de código posteriores.
Ejemplo:
#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
fuente