Version courte: existe-t-il un moyen de compiler conditionnellement des morceaux de code TSQL dans un projet de données SQL Server à l'aide des outils de données SQL Server pour Visual Studio 2010?
J'utilise SQL Server Data Tools dans Visual Studio 2010 pour travailler sur une base de données expérimentale SQL Server Express. La destination finale si les choses fonctionnent bien serait une plate-forme d'entreprise SQL Server. J'ai à la fois une instance 2008 sur une boîte et une instance 2012 sur une autre, car mon entreprise est également en train de migrer de 2008 à 2012 pour les nombreuses bases de données d'entreprise.
Dans d'autres langages de programmation que j'ai utilisés, les directives de préprocesseur facilitent la compilation conditionnelle de parties d'une base de code. Les utilisations les plus courantes pour cela sont d'avoir un code différent pour différentes plates-formes dans des sections restreintes ou d' exclure le code de sortie de débogage des versions .
Ces deux éléments pourraient être très utiles dans certaines procédures de magasin sur lesquelles je travaille. Y a-t-il quelque chose comme ça disponible? Je sais que je peux utiliser des sqlcmd
variables pour échanger des valeurs spécifiques pendant le déploiement, mais je ne sais pas comment utiliser cela pour inclure ou exclure des morceaux de code ultérieurs.
Exemple:
#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