sql server怎么查询所有数据库的所有schema?
如图中3个dbo、guest和一个hangfire
目标是实现遍历all_db-schema-table-column-rows,all_db一直关联不进来。
尝试遍历:
DECLARE @tb_schemas TABLE
(
db_name VARCHAR(200),
schemas_name VARCHAR(200)
);
DECLARE @i INT;
DECLARE @sql VARCHAR(300);
SET @i = 1;
BEGIN
WHILE @i <= (SELECT COUNT(*) FROM sys.databases)
BEGIN
SELECT @sql = ' use ' + A.name+';' + 'SELECT '+''''+A.name+''''+ ',name schemas_name FROM sys.schemas' FROM
(
SELECT A.name,ROW_NUMBER()OVER(order by database_id) rn
FROM
sys.databases A
)A
WHERE A.rn = @i
INSERT INTO @tb_schemas EXEC(@sql);
SET @i = @i + 1
End
SELECT db_name,schemas_name FROM @tb_schemas ORDER BY db_name;
END
2021/6/22 11:11
navivat prenium报错(明明已经DECLARE了):
set @i = 1
> [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Must declare the scalar variable "@i". (137)
2021/6/22 14:29
vscode连接mssql运行以上语句不报错,原因未知
期待答案:能解决这个报错或有新的查询方法都行。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论