这是我现在的代码:
BEGIN TRY
INSERT INTO TABLE (F1,F2,F3)
VALUES ('1','2','3')
END TRY
BEGIN CATCH
;THROW
END CATCH
Run Code Online (Sandbox Code Playgroud)
效果很好,除非它在装有 SQL 2008 的机器上运行。我想让 CATCH 块检查 SQL 版本并运行 THROW(如果它等于或高于 2012 年),如果是 2008 年则运行 RAISERROR。我一直遇到语法错误,我想知道是否有可能。即使像这样简单的事情也不适合我。
BEGIN CATCH
IF ((SELECT SERVERPROPERTY('productversion')) >= 11) ;THROW
END CATCH
Run Code Online (Sandbox Code Playgroud)
任何建议表示赞赏。
sql-server-2008 sql-server sql-server-2008-r2 sql-server-2012 sql-server-2014