如何在SQL Server 2008中编写嵌套的if语句

Eme*_*ras 0 sql sql-server sql-server-2008

我在SQL Server 2008中有一个查询,如下所示:

declare @checkValue int = 1
IF (@checkValue = 1)
(
     IF OBJECT_ID('tempdb..#newtable') IS NOT NULL DROP TABLE #newtable
     Select Id
     into #newtable
     From #oldtable
);
Run Code Online (Sandbox Code Playgroud)

由于第二个if子句位于主IF子句中,因此无效.我该如何修复它并使用嵌套的if语句?

任何帮助,将不胜感激.谢谢

Ric*_*ell 10

几乎,但你需要BEGIN和END而不是括号:

declare @checkValue int = 1
IF (@checkValue = 1)
BEGIN
     IF OBJECT_ID('tempdb..#newtable') IS NOT NULL DROP TABLE #newtable
     Select Id
     into #newtable
     From #oldtable
END;
Run Code Online (Sandbox Code Playgroud)