首页 > 解决方案 > 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

我严格没有对服务器本身进行任何更改。有没有人对可能发生的事情有所了解?

标签: sqlsql-serverinformation-schema

解决方案


好的,正如@sepupic 建议的那样,我尝试将数据库名称添加到查询中,即

SELECT 
    COLUMN_NAME
FROM 
    MyDBName.INFORMATION_SCHEMA.COLUMNS
WHERE 
    TABLE_NAME = 'MyTableName'
ORDER BY 
    ORDINAL_POSITION

它确实解决了问题。我不确定我是否理解为什么查询在昨天没有添加此数据库名称的情况下在完全相同的上下文中工作。

我想无论如何将它添加到查询中是一个好习惯,所以我会坚持下去。


推荐阅读