sql 查询目标数据库中所有的表以其关键信息

Posted Green.Leaf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 查询目标数据库中所有的表以其关键信息相关的知识,希望对你有一定的参考价值。

1、查询目标库中的所有表

SELECT
obj.name tablename, ---表名
schem.name schemname,  ---表所属的方案
idx.rows,  ---一共有几行数组
CAST
(
    CASE WHEN (SELECT COUNT(1) FROM sys.indexes WHERE object_id= obj.OBJECT_ID AND is_primary_key=1) >=1 
    THEN 1
    ELSE 0
    END 
AS BIT
) 
HasPrimaryKey  ---表是否有主键
from ZC_UAC.sys.objects obj 
INNER JOIN
ZC_UAC.dbo.sysindexes idx ON obj.object_id=idx.id and idx.indid<=1 
INNER JOIN
ZC_UAC.sys.schemas schem ON obj.schema_id=schem.schema_id
where type in(\'U\')
order by obj.name

 

2、查询目标库中所有的表和视图

SELECT
obj.name tablename, ---表名
schem.name schemname,  ---表所属的方案
CAST
(
    CASE WHEN (SELECT COUNT(1) FROM sys.indexes WHERE object_id= obj.OBJECT_ID AND is_primary_key=1) >=1 
    THEN 1
    ELSE 0
    END 
AS BIT
) 
HasPrimaryKey  ---表是否有主键
from ZC_UAC.sys.objects obj 
INNER JOIN
ZC_UAC.sys.schemas schem ON obj.schema_id=schem.schema_id
where type in(\'U\',\'V\')
order by obj.name

 

以上是关于sql 查询目标数据库中所有的表以其关键信息的主要内容,如果未能解决你的问题,请参考以下文章

带有表变量的动态查询以循环遍历所有表以在数据库中更新

如何过滤我的表以在 Oracle 中显示结果?

如何查询具有基数的表以显示所有 Pk,同时还显示具有 FK 的表中的匹配元素

Oracle数据库中如何查询一个用户A下面所有的表的信息

SQL Server 的表数据简单操作(表数据查询)

从未知数据库 SQL 和 Java 中查找外键