Kurzversion: Gibt es eine Möglichkeit, Teile des TSQL-Codes in einem SQL Server-Datenprojekt mithilfe von SQL Server-Datentools für Visual Studio 2010 bedingt zu kompilieren?
Ich verwende SQL Server-Datentools in Visual Studio 2010, um an einer experimentellen SQL Server Express-Datenbank zu arbeiten. Das letztendliche Ziel, wenn die Dinge gut funktionieren, wäre eine SQL Server-Plattform für Unternehmen. Ich habe sowohl eine 2008-Instanz auf einer Box als auch eine 2012-Instanz auf einer anderen, da mein Unternehmen gerade für die vielen Unternehmensdatenbanken von 2008 auf 2012 migriert.
In anderen von mir verwendeten Programmiersprachen erleichtern Präprozessoranweisungen das bedingte Kompilieren von Teilen einer Codebasis. Die gebräuchlichste Verwendung hierfür ist, unterschiedlichen Code für unterschiedliche Plattformen in eingeschränkten Abschnitten zu haben oder das Debuggen von Ausgabecode aus Release-Builds auszuschließen .
Beides kann bei einigen Geschäftsabläufen, an denen ich arbeite, sehr hilfreich sein. Gibt es so etwas? Ich weiß, dass ich sqlcmd
Variablen verwenden kann, um bestimmte Werte während der Bereitstellung auszutauschen, aber ich kann nicht herausfinden, wie ich diese verwenden kann, um nachfolgende Codeabschnitte einzuschließen oder auszuschließen.
Beispiel:
#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