我可以用:
select * from sys.tables
在 mssql 中显示当前数据库中所有表的列表。无论如何我可以使用类似的语法来显示另一个数据库中的表列表吗?
假设我正在使用 A :
use A
语句,我可以显示数据库 B 中的表吗?
我可以用:
select * from sys.tables
在 mssql 中显示当前数据库中所有表的列表。无论如何我可以使用类似的语法来显示另一个数据库中的表列表吗?
假设我正在使用 A :
use A
语句,我可以显示数据库 B 中的表吗?
这对我有用(MS SQL 2005 和更新版本):
select * from your_database_name.sys.tables
请记住,您(或您正在使用的任何身份验证上下文)仍需要对该数据库的读取权限。
要使用您的示例:
use a;
go
select * from sys.tables; -- selects table info from a
select * from b.sys.tables; -- selects table info from b
另一种可能性是使用:
select * from your_database_name.information_schema.tables