当我在数据库中的一个表上使用Select Top 1000 Rows功能(右键单击表格)时,它只显示10列。但是,当我使用SELECT * FROM ...
时,将显示所有17列。
这种现象似乎没有发生在任何其他表格中。我们有一个包含超过150列的表,这些表都使用Select Top 1000 Rows功能显示。我们的DBA正在度假,有人知道这是如何实现的吗?
提前谢谢。
答案 0 :(得分:9)
一般情况下这是不可能的。
当表格包含SPARSE
列时,它会在设计上发生,这可能会解释您的17-> 10示例。
e.g。
CREATE TABLE T1
(
Id INT PRIMARY KEY,
C1 INT SPARSE NULL,
C2 INT SPARSE NULL,
C3 INT SPARSE NULL
)
然后使用SELECT TOP 1000 Rows
选项生成此内容。
/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP (1000) [Id]
FROM [tempdb].[dbo].[T1]
您可以删除列列表,只需拖动列文件夹即可获得完整列表。
在你的情况下,我相信你想要相反。 不要将列更改为稀疏以获得此行为!您可以使用您感兴趣的150列的子集创建一个视图。