
正文
sqlserver非空,sql server 非空
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何查询SqlServer中所有表的数据行数,并且显示所有空表非空表
1、以数据库text为例:
USE text
go
SELECT ?A.NAME,MaxRows = MAX(B.rows)
FROM sys.tables A
INNER JOIN sys.partitions B?ON A.object_id = B.object_id
GROUP BY A.name
ORDER BY MAX(B.rows) DESC?- -按数据行数的降序进行排序显示
2、显示所有空表
USE text
go
SELECT ?A.NAME,MaxRows = MAX(B.rows)
FROM sys.tables A
INNER JOIN sys.partitions B?ON A.object_id = B.object_id
GROUP BY A.name
HAVING MAX(B.rows) = 0
3、显示所有非空表
USE text
go
SELECT ?A.NAME,MaxRows = MAX(B.rows)
FROM sys.tables A
INNER JOIN sys.partitions B?ON A.object_id = B.object_id
GROUP BY A.name
HAVING MAX(B.rows) 0
相关问答
Q1: 如何在sqlserver管理平台中为“学生”表的“姓名”字段添加非空值约束。
在现有的学生表对姓名的字段进行非空约束,可以先update学生表的姓名字段为null,再通过alter才触发器设置姓名字段为非空not null。这样操作就可以把现有的学生表中姓名字段设置为非空值约束了。
Q2: sql怎么查询出一列中非空的值
空值数据: select count(*) from YourTable where YourColumnName is null
非空值数据: select count(*) from YourTable where YourColumnName is not null
sqlserver Oracle Access 都通用的!
Q3: SQLSERVER触发器判断非空值
create trigger DataProarea on testtable
for insert as
if exists(select * from inserted where TestFileds is null)
BEGIN
PRINT 'TestFileds是空值!'
ROLLBACK TRANSACTION
END
ELSE if not exists(select * from inserted join peopletable on inserted.TestFileds=peopletable.Peoplefileds)
begin
PRINT 'TestFileds的值在peopletable表的Peoplefileds中不存在!'
ROLLBACK TRANSACTION
end
GO






