如何多次运行SQL Server CTE?

时间:2016-10-21 09:25:13

标签: sql sql-server

我正在运行CTE查询,如下所示

public class Cat {
    private final String noise = "meow";

    pulic static void makeNoise(){
        System.out.println(noise);
    }
}

public class Dog {
    private final String noise = "woof";

    pulic static void makeNoise(){
        System.out.println(noise);
    }
}

但是我遇到了问题,因为我可以运行Select Query或Delete Query。

我的第二个问题是"什么是CTE" ?它是一个对象,视图还是其他任何东西。

提前多多感谢。

1 个答案:

答案 0 :(得分:0)

使用单个查询无法在SQL Server中执行此操作。相反,一种方法可以使用临时表:

SELECT EmpId, EmpName,
       RN = ROW_NUMBER()OVER(PARTITION BY EmpId ORDER BY EmpId)
INTO #EmployeeTemp
FROM Employeetemp;

SELECT * FROM Employeetemp;

DELETE FROM Employeetemp
    WHERE EmpId IN (SELECT EmpId FROM #Employeetemp WHERE RN > 1);