检测 Sql-视图结构
Detect Sql-view structure
我创建了一个这样的视图
SELECT dbo.BaharInOut.BCode, dbo.Bahar.BName
FROM dbo.Bahar INNER JOIN
dbo.BaharInOut ON dbo.Bahar.BCode = dbo.BaharInOut.BCode
并尝试从 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重复了
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 中,只需使用“is_hidden”列添加简单的“where”
SELECT Name,source_column,source_table FROM sys.dm_exec_describe_first_result_set (N'SELECT * from AAA', null, 1) WHERE is_hidden=0
我创建了一个这样的视图
SELECT dbo.BaharInOut.BCode, dbo.Bahar.BName
FROM dbo.Bahar INNER JOIN
dbo.BaharInOut ON dbo.Bahar.BCode = dbo.BaharInOut.BCode
并尝试从 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重复了
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 中,只需使用“is_hidden”列添加简单的“where”
SELECT Name,source_column,source_table FROM sys.dm_exec_describe_first_result_set (N'SELECT * from AAA', null, 1) WHERE is_hidden=0