【问题标题】:# ifdef type conditional compilation in T-SQL sql server 2008 2005# ifdef 类型条件编译在 T-SQL sql server 2008 2005
【发布时间】:2011-07-07 14:27:55
【问题描述】:

为了向后兼容,我需要在 sql server 2005 和 sql server 2008 上运行存储的 proc。但是由于 sql server 2008 中不推荐使用某些命令,我​​的脚本在 2005 年编译但在 2008 年失败。我正在寻找对于c++,c#相当于#define,#ifdef,所以我可以在2005年和2008年编译相同的脚本。这方面的标准做法是什么?随附的屏幕截图详细说明。谢谢

【问题讨论】:

    标签: sql-server sql-server-2005 tsql sql-server-2008


    【解决方案1】:

    使用动态 SQL:

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

    【讨论】:

    • 誓言。没想到这么简单。这是 t-sql 世界中条件编译的标准做法吗?谢谢
    • @Gullu:单个 SP 支持两个版本的 SQL Server 是相当不寻常的。标准做法是为每个 SQL Server 版本部署一个单独的 SP。
    猜你喜欢
    • 1970-01-01
    • 2011-07-02
    • 2013-10-23
    • 2010-10-25
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    相关资源
    最近更新 更多