# ifdef type conditional compilation in T-SQL sql

2019-07-19 01:57发布

问题:

For sake of backwards compatibility I need to have a stored proc run on both sql server 2005 AND sql server 2008. However due to some commands being deprecated in sql server 2008 my script compiles on 2005 but fails on 2008. I am looking for the c++, c# equivalent of #define, #ifdef so I can compile the same script on 2005 & 2008. What is the standard practice on this ? Attached screenshot explains in detail. thank you

回答1:

Use dynamic SQL:

if (@returnVal = 1)
    exec ('backup log myDB with truncate_only');