【发布时间】:2011-12-03 03:08:04
【问题描述】:
我正在尝试获取表信息并给出表名,因此我编写了这样的查询:
SELECT so.name, sc.name, st.name, sc.length, CASE WHEN sc.status = 0x80 THEN 'Y' ELSE 'N' END AS IsIdent, ColOrder
FROM Asdim.dbo.sysobjects so
INNER JOIN Asdim.dbo.syscolumns sc
ON so.id= sc.id
INNER JOIN Asdim.dbo.systypes st
ON sc.xtype = st.xusertype
WHERE so.Name = 'Admin'
问题是我有两个名为“Admin”的表,但它们有不同的架构。所以当我运行这个查询时:
SELECT * FROM Asdim.dbo.sysobjects WHERE name LIKE 'Admin'
我得到两条记录,因为表名相同。有没有办法我也可以根据架构名称过滤掉?
【问题讨论】:
标签: sql-server tsql sql-server-2008 sysobjects