不太清楚如何枚举特定数据库和表中的列。
我可以列出所有的数据库使用:
SELECT name from master..sysdatabases go
我可以显示特定数据库的所有表格
SELECT TABLE_NAME FROM ValidUsers.INFORMATION_SCHEMA.Tables WHERE TABLE_TYPE = 'BASE TABLE'
然后我试图列出一个特定的表的所有列,这没有任何结果。 我猜我需要以某种方式指定数据库,但我不能解决如何做到这一点。
select COLUMN_NAME from information_schema.columns where table_name = 'Admins'
在执行SELECT语句之前,select使用use的数据库作为活动数据库上下文。
所以它会:
USE mydatabase; SELECT column_name FROM information_schema.columns WHERE table_name = 'Admins';
另一种方法是将数据库作为前缀添加到information_schema中,如下所示:
SELECT column_name FROM [mydatabase].information_schema.columns WHERE table_name = 'Admins';