[英]Do I have to include “SELECT @@RowCount” if I have more than one SQL statement?
[英]SQL @@RowCount on Select statement
我有一条选择声明。 我想知道此select语句是否返回任何行。 基于记录数,我想执行一些其他操作。
我尝试使用@@RowCount
来获取计数,但它似乎无法与select语句一起正常工作。
选择后如何使用该建议或我可以执行发布任务的其他任何方式。
select
isnull(TotalHoursWorkedAmount, 0) / 26
from
EmployeeStatus ESI
where
ESI.EmployeeCode = @employee_id
添加另一块
if @@ROWCOUNT=0
SELECT dbo.fxGetAverage(@employee_id)
@@ROWCOUNT
确实适用于select语句。 您没有表现出您的尝试,所以我不能说您做错了什么。
但是无论如何,这将以行数为例:
select isnull(TotalHoursWorkedAmount, 0) / 26
from EmployeeStatus ESI
where ESI.EmployeeCode = @employee_id
select @@rowcount
或将其存储在变量中:
declare @myCount int
select isnull(TotalHoursWorkedAmount, 0) / 26
from EmployeeStatus ESI
where ESI.EmployeeCode = @employee_id
set @myCount = @@rowcount
就像其他人所说的,如果这只是一个对/错问题-相对于x
如果y
行数, z
如果v
行数-那么最好做一个存在, 除非您实际上需要选择 。
if exists (
select 1
from EmployeeStatus ESI
where ESI.EmployeeCode = @employee_id
)
begin
print 'do stuff'
end
如果由于某种原因您无法使@@rowcount
工作,则可以使用此查询来检查是否得到任何结果。 使用if语句。
if not exists(select isnull(TotalHoursWorkedAmount, 0) / 26 from EmployeeStatus ESI where ESI.EmployeeCode = @employee_id)
begin
SELECT dbo.fxGetAverage(@employee_id)
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.