在MSDN Library或Technet网站中,Microsoft倾向于使用伪语法来解释如何将T-SQL语句与所有可用选项一起使用。这是从UPDATE STATISTICS的Technet页面上获取的样本:
UPDATE STATISTICS table_or_indexed_view_name
[
{
{ index_or_statistics__name }
| ( { index_or_statistics_name } [ ,...n ] )
}
]
[ WITH
[
FULLSCAN
| SAMPLE number { PERCENT | ROWS }
| RESAMPLE
| <update_stats_stream_option> [ ,...n ]
]
[ [ , ] [ ALL | COLUMNS | INDEX ]
[ [ , ] NORECOMPUTE ]
] ;
<update_stats_stream_option> ::=
[ STATS_STREAM = stats_stream ]
[ ROWCOUNT = numeric_constant ]
[ PAGECOUNT = numeric_contant ]
如何正确阅读此类描述并快速弄清楚什么是必需的,什么是可选的,以及一种编写查询的干净方法?
您应该参考此Transact-SQL语法约定
该文章中的第一张表几乎解释了所有内容。
在您的示例中,我们可以看到以下内容:
UPDATE STATISTICS table_or_indexed_view_name
UPDATE STATISTICS是使用的关键字table_or_indexed_view_name是要更新其统计信息的表或视图的名称
[
{
{ index_or_statistics__name }
| ( { index_or_statistics_name } [ ,...n ] )
}
]
这是可选的[]
,但如果提供,则必须放置一个统计名称{index_or_statistics__name}
或|
以逗号分隔的统计名称列表{ index_or_statistics_name } [ ,...n ]
[ WITH
[
FULLSCAN
| SAMPLE number { PERCENT | ROWS }
| RESAMPLE
| <update_stats_stream_option> [ ,...n ]
]
[ [ , ] [ ALL | COLUMNS | INDEX ]
[ [ , ] NORECOMPUTE ]
] ;
这也是可选的[]
。如果使用,则必须以a开头,WITH
并且必须选择4个选项。您的选择是
FULLSCAN
SAMPLE number { PERCENT | ROWS }
,您必须在其中定义,number
并且必须从PERCENT
或中选择|
ROWS
RESAMPLE
然后,你必须选择使用ALL
,COLUMNS
或INDEX
并主持以逗号,如果你使用了WITH
。
最后NORECOMPUTE
,如果您之前使用过其他选项,则可以使用,并在其前面加上一个逗号。
<update_stats_stream_option> ::=
[ STATS_STREAM = stats_stream ]
[ ROWCOUNT = numeric_constant ]
[ PAGECOUNT = numeric_contant ]
这些是您可以在<update_stats_stream_option>
之前(在4中)使用的预定义选项的列表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句