sql - INFORMATION_SCHEMA.COLUMNS 突然为空
问题描述
昨天,我使用 SQL Server 数据库上的 INFORMATION_SCHEMA.COLUMNS 中的 COLUMN_NAMES 字段开发了一个 SQL 查询。查询工作得非常好,尤其是 COLUMN_NAMES 的查询正确输出了我的列的名称。
但是,今天早上我尝试重新运行完全相同的查询,这一次我得到了一个空表。缩小问题范围,归结为以下查询突然给出 0 行:
SELECT
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'MyTableName'
ORDER BY
ORDINAL_POSITION
我严格没有对服务器本身进行任何更改。有没有人对可能发生的事情有所了解?
解决方案
好的,正如@sepupic 建议的那样,我尝试将数据库名称添加到查询中,即
SELECT
COLUMN_NAME
FROM
MyDBName.INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'MyTableName'
ORDER BY
ORDINAL_POSITION
它确实解决了问题。我不确定我是否理解为什么查询在昨天没有添加此数据库名称的情况下在完全相同的上下文中工作。
我想无论如何将它添加到查询中是一个好习惯,所以我会坚持下去。
推荐阅读
- javascript - Reactjs 中针对多个事件的代码优化
- r - 如何将打印功能的输出保存到 CSV 文件?
- c# - IQueryable WHERE inside a for loop does not produce expected result
- http - 为什么说 HTTP2 是二进制协议?
- c# - 无法显示所有十进制数字 C#
- python - 如何修复 binascii.Error:使用“hex”编解码器解码失败(错误:找到非十六进制数字)
- pandas - 如何绘制柱状图,其中 2 个类别彼此相邻?
- javascript - 有没有办法使用 C3.js 创建两个具有相同中心点的甜甜圈
- python - NOT NULL 约束失败:adminside_event.event_data
- azure - 如何使用服务主体连接到 Azure Databricks?