sql >> データベース >  >> RDS >> Sqlserver

SELECT ... FOR XML PATH('')、1,1)の意味は何ですか?

    ここで学ぶための実際のテクニックはありません。複数のデータ行を1つの文字列に連結するのはかわいいトリックです。これは、XMLの使用目的よりも、機能の風変わりな使用法です。 フォーマット機能。

    SELECT ',' + ColumnName ... FOR XML PATH('')
    

    ColumnNameからのデータの複数の行の組み合わせに基づいて、コンマで区切られた値のセットを生成します 桁。 ,abc,def,ghi,jklのような値を生成します 。

    STUFF(...,1,1,'')
    

    次に、前のトリックで生成された先頭のコンマを削除するために使用されます。STUFFを参照してください。 パラメータの詳細については。

    (不思議なことに、多くの人は、STUFFにもかかわらず、コンマで区切られた値のセットを生成するこのメソッドを「STUFFメソッド」と呼ぶ傾向があります。 トリミングの最後の部分のみを担当します)



    1. ストアドプロシージャの結果セットの列定義を取得します

    2. PL / pgSQL関数:executeステートメントを使用して複数の列を持つ通常のテーブルを返す方法

    3. データマスキングによるデータリスクの軽減

    4. ここでEXECUTEIMMEDIATEが必要なのはなぜですか?