1

MSDN ライブラリまたは Technet Web サイトでは、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 ]

そのような説明を適切に読み、何が必要で何がオプションかを素早く理解し、クエリをきれいに書くにはどうすればよいでしょうか?

4

2 に答える 2

3

このTransact-SQL Syntax Conventionsを参照してください。

その記事の最初の表は、ほぼすべてを説明しています。

あなたの例では、次のことがわかります。

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 で始める必要があり、WITH4 つのオプションから選択する必要があります。あなたの選択肢は

  1. FULLSCAN
  2. SAMPLE number { PERCENT | ROWS }を定義する必要があり、またはnumberから選択する必要があります。PERCENT| ROWS
  3. RESAMPLE
  4. ` [ ,...n ]' はコンマで区切られたリストです

ALL次に、COLUMNSまたはのいずれかを選択する必要がINDEXありますWITH

最後に、 を使用する別のオプションがあり、その前に他のオプションを使用した場合は、そのNORECOMPUTE前にカンマを置きます。

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

これらは、以前に使用された場所で使用できる定義済みオプションのリストです<update_stats_stream_option>(4)。

于 2013-09-27T08:19:53.657 に答える