如何正确阅读SQL Server语法?

穆斯林本·达欧

在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个选项。您的选择是

  1. FULLSCAN
  2. SAMPLE number { PERCENT | ROWS },您必须在其中定义,number并且必须从PERCENT或中选择| ROWS
  3. RESAMPLE
  4. `[,... n]',以逗号分隔的列表

然后,你必须选择使用ALLCOLUMNSINDEX并主持以逗号,如果你使用了WITH

最后NORECOMPUTE,如果您之前使用过其他选项,则可以使用,并在其前面加上一个逗号。

<update_stats_stream_option> ::=
[ STATS_STREAM = stats_stream ]
[ ROWCOUNT = numeric_constant ]
[ PAGECOUNT = numeric_contant ]

这些是您可以在<update_stats_stream_option>之前(在4中)使用的预定义选项的列表

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server Pivot语法

来自分类Dev

SQL Server语法问题

来自分类Dev

SQL Server的语法无效

来自分类Dev

')'SQL SERVER附近的语法不正确

来自分类Dev

SQL Server - 正确的语法是什么?

来自分类Dev

SQL Server:“@”附近的语法不正确

来自分类Dev

SQL Server:带有语法

来自分类Dev

@parameter = @parameter语法(SQL Server)

来自分类Dev

Sublime Text:如何更正SQL Server语法

来自分类Dev

如何阅读此语法?

来自分类Dev

如何阅读msdn的T-SQL语法说明?

来自分类Dev

'JSON'附近的语法不正确-SQL Server 2016

来自分类Dev

SQL Server''。'附近的语法不正确的异常。'?

来自分类Dev

功能Microsoft sql-server中的语法不正确

来自分类Dev

SQL SERVER sp_executesql'''附近的语法不正确

来自分类Dev

','附近的语法不正确。SQL Server和C#

来自分类Dev

SQL Server'11'附近的语法不正确

来自分类Dev

SQL Server 08')'附近的语法不正确

来自分类Dev

SQL Server:WITH AS使用不正确的语法错误

来自分类Dev

SQL Server 2014的IIF``附近语法不正确''错误

来自分类Dev

SQL Server上不正确的语法错误

来自分类Dev

在SSMS中连接到SQL Server的正确语法

来自分类Dev

SQL Server“附近的语法不正确” WHERE语句

来自分类Dev

'0'附近的语法不正确。(Microsoft SQL Server)

来自分类Dev

SQL Server在触发器上不接受正确的语法

来自分类Dev

'/' 附近的语法不正确。在 SQL Server 2012 中

来自分类Dev

SQL Server 错误:“'xyz' 附近的语法不正确”

来自分类Dev

[SQL Server]表附近语法不正确

来自分类Dev

sql server 上“=”错误附近的语法不正确