How to Check whether a table contains rows or not sql server 2005?
How to Check whether a table contains rows or not sql server 2005?
For what purpose?
IF EXISTS (SELECT * FROM Table)...SELECT TOP 1 1 FROM Table returns either zero or one rowsSELECT COUNT(*) FROM TableAlso, you can use exists
select case when exists (select 1 from table)
then 'contains rows'
else 'doesnt contain rows'
end
or to check if there are child rows for a particular record :
select * from Table t1
where exists(
select 1 from ChildTable t2
where t1.id = t2.parentid)
or in a procedure
if exists(select 1 from table)
begin
-- do stuff
end
Can't you just count the rows using select count(*) from table (or an indexed column instead of * if speed is important)?
If not then maybe this article can point you in the right direction.
Fast:
SELECT TOP (1) CASE
WHEN **NOT_NULL_COLUMN** IS NULL
THEN 'empty table'
ELSE 'not empty table'
END AS info
FROM **TABLE_NAME**