1
我试图让该表信息给一个表名,所以我写了这样的查询:获取表信息
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'
的问题是,我有名字“管理员”两个表,但他们有不同的模式。所以当我运行这个查询时:
SELECT * FROM Asdim.dbo.sysobjects WHERE name LIKE 'Admin'
我得到两个记录,因为表名是相同的。有没有一种方法可以根据模式名称过滤掉?
看看http://stackoverflow.com/questions/917431/sql-server-return-schema-for-sysobjects。 – a1ex07