SQL表是否可能具有零列?

Gre*_*reg 7 sql sql-server

我正在使用以下查询来收集有关表的列的信息:

SELECT COLUMN_NAME,
       ORDINAL_POSITION,
       DATA_TYPE,
       CHARACTER_MAXIMUM_LENGTH,
       Is_NULLABLE
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 'TableName'
    ORDER BY ORDINAL_POSITION
Run Code Online (Sandbox Code Playgroud)

如果此查询返回零结果,我可以安全地声明该表不存在吗?或者是某种可能的表存在但是(反过来)没有列?

我已经查询INFORMATION_SCHEMA.TABLES了表是否存在该表,但是如果可能的话我想将其剪切为一个查询.

为了将来参考,我发现了以下相关问题:
创建一个没有列的表
我可以在SQL Server中选择0列吗?

And*_*mar 5

如果你试试:

create table TestTable (id int)
alter table TestTable drop column id
Run Code Online (Sandbox Code Playgroud)

SQL Server抱怨说:

Msg 4923, Level 16, State 1, Line 1
ALTER TABLE DROP COLUMN failed because 'id' is the only data column in table
'TestTable'. A table must have at least one data column.
Run Code Online (Sandbox Code Playgroud)

因此,表必须始终至少有一列.