使用此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
。
知道我的查询结果中该表出现在哪里/怎么样?
答案 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