Sql 查询逻辑检查:计算数据库中的主键数
下面1、2和3的结果相同。只需要知道这两个查询都返回主键数的值,这一逻辑是否正确 一, 二, 三,Sql 查询逻辑检查:计算数据库中的主键数,sql,sql-server,Sql,Sql Server,下面1、2和3的结果相同。只需要知道这两个查询都返回主键数的值,这一逻辑是否正确 一, 二, 三, 我认为这是更好的方法,因为第三个查询是正确的。但第二个查询需要修改,以添加检查以排除SYS表。Objects有系统表(所以我们需要添加一个检查),而信息模式不包括系统表 (二) 希望这也能帮助你 SELECT COUNT(*) [Ct_PK] FROM SYS.OBJECTS WHERE TYPE = 'PK' 不,它不是SQL Server的最佳选择。使用系统视图要好得多。阅读A
我认为这是更好的方法,因为第三个查询是正确的。但第二个查询需要修改,以添加检查以排除SYS表。Objects有系统表(所以我们需要添加一个检查),而信息模式不包括系统表 (二)
希望这也能帮助你
SELECT COUNT(*) [Ct_PK]
FROM SYS.OBJECTS
WHERE TYPE = 'PK'
不,它不是SQL Server的最佳选择。使用系统视图要好得多。阅读Aaron Bertrand的博客:
SELECT COUNT(*) AS 'PRIMARY_KEY_CONSTRAINT'
FROM sys.objects
WHERE type_desc IN ('PRIMARY_KEY_CONSTRAINT')
SELECT Count(*)
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'PRIMARY KEY'
SELECT Count(*)
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'PRIMARY KEY'
SELECT COUNT(*) AS 'PRIMARY_KEY_CONSTRAINT'
FROM sys.objects
WHERE type_desc IN ('PRIMARY_KEY_CONSTRAINT') AND is_ms_shipped <>1
SELECT Count(*)
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'PRIMARY KEY'
SELECT COUNT(*) [Ct_PK]
FROM SYS.OBJECTS
WHERE TYPE = 'PK'