SQL server 查询表在哪个库里,目前已知表名
时间: 2024-10-13 17:15:46 浏览: 35
在SQL Server中,查询表所在的库以及已知表名通常涉及使用系统视图来获取这些信息。这里有两个示例:
1. **通过系统表关联查询**[^1]:
```sql
-- 获取表名
SELECT
so.name AS TableName,
sc.name AS ColumnName
FROM
sys.objects so
JOIN sys.columns sc ON so.object_id = sc.object_id
WHERE
so.name = 'YourTableName'; -- 替换为你要查找的实际表名
-- 获取表所在库
SELECT
db.name AS DatabaseName
FROM
sys.tables t
INNER JOIN sys.databases db ON t.database_id = db.database_id
WHERE
t.object_id = (SELECT object_id FROM sys.objects WHERE name = 'YourTableName');
```
2. **直接从sysobjects表查询表名**:
如果你知道表的名字,可以直接在`sysobjects`表中查找其ID,然后关联到其他系统表来获取更多信息:
```sql
-- 获取表名
SELECT
so.name AS TableName
FROM
sys.objects so
WHERE
so.name = 'DepartmentSalaryInfo'; -- 假设这就是你要找的表名
-- 获取库名
SELECT
db.name AS DatabaseName
FROM
sys.objects so
JOIN sys.databases db ON so.database_id = db.database_id
WHERE
so.name = 'DepartmentSalaryInfo';
```
阅读全文