本文介绍了检测Sql-view结构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个这样的视图

I create a view like this

SELECT        dbo.BaharInOut.BCode, dbo.Bahar.BName
FROM            dbo.Bahar INNER JOIN
                     dbo.BaharInOut ON dbo.Bahar.BCode = dbo.BaharInOut.BCode

并尝试从 msSQL 获取信息

And tried to get information from msSQL

1-路 1

SELECT        COLUMN_NAME, TABLE_NAME
FROM            INFORMATION_SCHEMA.VIEW_COLUMN_USAGE AS VCU
WHERE        (VIEW_NAME = 'AAA')

答案是

COLUMN_NAME  TABLE_NAME
------------ -------------
BCode        Bahar
BName        Bahar
BCode        BaharInOut

如你所见,BCode 重复了

as you see , The BCode is repeated

2- 方式 2

SELECT Name
        FROM    sys.dm_exec_describe_first_result_set (N'SELECT *   from  AaA ', null, 1)

结果更奇怪了

Name
--------
BCode
BName
BCode
Serial
MSeq

有什么想法吗?

推荐答案

在 Way2 中只需添加简单的where"即可通过使用is_hidden"专栏

In Way2 just add simple "where" by using "is_hidden" column

SELECT Name,source_column,source_table FROM sys.dm_exec_describe_first_result_set (N'SELECT * from AAA', null, 1) WHERE is_hidden=0

这篇关于检测Sql-view结构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 19:11