什么是名称以“TT_”开头的表格?

时间:2016-01-28 08:11:18

标签: sql-server

使用此SQL语句在名称中包含ItemId的数据库all tables the have columns中查找:

SELECT o.name,
       c.name
FROM sys.columns c
INNER JOIN sys.objects o ON c.object_id = o.object_id
WHERE c.name LIKE '%ItemId%'
ORDER BY o.name, c.column_id

我收到的结果包含两个表格:

ResourceData TT_Data_117F9D94

我知道ResourceData表,我可以在表格列表中找到它。

但是我无法在我的数据库中找到任何表名TT_Data_117F9D94

知道我的查询结果中该表出现在哪里/怎么样?

2 个答案:

答案 0 :(得分:2)

首先 你应该使用

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%itemid%';

可能TT_Data_117F9D94是数据库中的数据表。 请检查该表的数据库设计。或者只是从该表中执行选择查询。

答案 1 :(得分:1)

检查表格类型 -

CREATE TYPE dbo.TT_Type AS TABLE (a INT)

SELECT o.name, c.name
FROM sys.columns c
JOIN sys.objects o ON c.[object_id] = o.[object_id]
WHERE c.name = 'a'

正确查询 -

SELECT SCHEMA_NAME(o.[schema_id]), o.name, c.name
FROM sys.columns c
JOIN sys.objects o ON c.[object_id] = o.[object_id]
WHERE o.[type] = 'U' -- only user tables