gpt4 book ai didi

sql - 如何有效地检查表是否为空?

转载 作者:行者123 更新时间:2023-12-04 13:17:54 26 4
gpt4 key购买 nike

在我目前正在编写的程序中,有一点需要检查表是否为空。我目前只有一个基本的 SQL 执行语句

Count(asterisk) from Table

然后我有一个 fetch 方法来抓取这一行,把 Count(asterisk)进入一个参数,以便我可以检查它(如果 count(*) < 1 则出错,因为这意味着表为空)。平均而言, count(asterisk)将返回大约 11,000 行。这样的事情会更有效率吗?
 select count(*) 
from (select top 1 *
from TABLE)

但我不能让它在 Microsoft SQL Server 中工作

这将返回 1 或 0,当执行该语句时,我将能够在我的编程语言中对此进行检查,并获取 count 参数以查看 TABLE 是否为空。

欢迎提出任何意见、想法或疑虑。

最佳答案

您正在寻找表是否为空的指示。为此,SQL 具有 EXISTS 关键字。
如果您在存储过程中执行此操作,请使用以下模式:

IF(NOT EXISTS(SELECT 1 FROM dbo.MyTable))
BEGIN
RAISERROR('MyError',16,10);
END;

如果您让指标恢复到应用程序内的相应行为,请使用以下模式:
SELECT CASE WHEN EXISTS(SELECT 1 FROM dbo.MyTable) THEN 0 ELSE 1 END AS IsEmpty;

虽然大多数其他响应也会产生预期的结果,但它们似乎掩盖了意图。

关于sql - 如何有效地检查表是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17284688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com