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

SSMSでストアドプロシージャの結果セットをExcelにエクスポートする

    ストアドプロシージャを2つのプロシージャに分割し、それぞれが別々のテーブルを返し、それらを異なるワークシートに呼び出すことをお勧めします。

    SQLを使用してExcelにデータを返すにはさまざまな方法があります

    Joshuaによるコードからの私のお気に入りは次のとおりです(パラメーターを使用する必要はありません):

    1. Excelのリボンの[データ]タブを選択し、[外部データの取得]グループ内で[他のソースから]ドロップダウンを選択します。次に、[Microsoftクエリから]を選択します

    2. [データソースの選択]ポップアップボックスで、SQL Serverを選択し、[OK]をクリックします。

    3. 必要に応じて、[テーブルの追加]ポップアップを閉じます。

    4. [SQL]ボタンをクリックするか、[表示]> [SQL]を選択して、SQLポップアップエディタを開きます。

    5. 次の構文を入力します:{CALL myDatabaseName.dbo.myStoredProc(?、?、?)}

      例:{CALL northwind.dbo.spGetMaxCost(?、?、?)}

      callステートメントの前後に波状の中括弧を必ず含めてください。各疑問符(?)はパラメーターを示します。ストアドプロシージャが多かれ少なかれパラメータを必要とする場合は、必要に応じて疑問符を加算または減算します。

    6. OKボタンを押します。 「SQLクエリをグラフィカルに表示できません。とにかく続行しますか?」という質問ボックスがポップアップ表示されたら、[OK]ボタンを押すだけです。

    7. 上記で含めた疑問符ごとに、サンプルパラメータの入力を求められます。クエリするデータの有効なパラメータ値を入力してください。

    8. 最後のパラメータを入力すると、MicrosoftQueryでいくつかの結果が返されます。見栄えがよい場合は、MicrosoftQueryを閉じます。

    9. これで、「データのインポート」ポップアップが表示されます。 [プロパティ]ボタンをクリックすると、[接続のプロパティ]ポップアップが表示されます。

    10. 「定義」タブを選択してから、「パラメーター」ボタンを選択します。これで、「パラメータ」ポップアップが表示され、パラメータを特定のセルに接続できます。

    11. [次のセルから値を取得]を選択し、矢印の付いた小さなボックスをクリックして、パラメータを保持するExcelの適切なセルに接続します。

    12. パラメータを含むセルを変更するたびにデータを更新する場合は、[セルの値が変更されたときに自動的に更新する]チェックボックスをオンにします

    13. 他のパラメータについては、上記のように続けます。終了したら、[OK]をクリックして、[接続のプロパティ]ポップアップに戻ります。 [OK]をクリックして[データのインポート]ポップアップに戻り、もう一度[OK]をクリックします。

    14. これで、ストアドプロシージャから直接データが得られるはずです。

    最終的には次のような接続情報になります:

    接続情報

    そして、シートのパラメータを使用する場合、私の例では



    1. ストアドプロシージャから、OUTパラメータとOUTカーソルを返し、結果を解析します(Oracle)

    2. Oracleの2つのタイムスタンプ間の差をミリ秒単位で計算する

    3. クラウドベンダーの詳細:Google Cloud Platform(GCP)上のPostgreSQL

    4. 問題セット1-エンティティの特定