短SQL语句检查

时间:2017-05-26 08:50:29

标签: sql sql-server

我只是想知道下面的SQL语句是否删除表“Final_Results”,如果表不包含任何行(标题除外)。

if exists(select * from Final_Results) 
    begin
        drop table Final_Results
    end

非常感谢 此致,米洛斯

3 个答案:

答案 0 :(得分:0)

使用NOT EXISTS

if not exists(select * from Final_Results) 
    begin
        drop table Final_Results
    end

答案 1 :(得分:0)

在您的情况下,如果表中有一行或多行,它将删除Final_Results表,因此您应该使用Not Exists代替:

if Not Exists(SELECT * FROM Final_Results) 
    begin
        DROP TABLE Final_Results
    end

答案 2 :(得分:0)

使用count而不是

if ((SELECT count(*) FROM Final_Results)=0) 
    begin
        DROP TABLE Final_Results
    end