単純なSELECT文を使用し、結果セットをCSV文字列として返すストアドプロシージャを作成します。基本的な考え方は、ユーザー入力からSQL文を取得し、EXEC(@stmt)を使用して実行し、カーソルを使用して結果セットをテキストに変換することです。しかし、SQLServerのは許可しないよう:クエリ文字列を受け取り、クエリの結果セットを返すUDFを作成する方法
- は、EXECとUDF(@sqlStmt)
ので、私は#tempTable EXEC(@sqlStmtに挿入を試みた
私は立ち往生しています。この問題についていくつかの光を当ててください。
感謝
EDIT:
が実際に出力(例えばCSV文字列)が重要ではありません。問題はEXECが返す結果セットにカーソルを割り当てる方法がわからないことです。入力ステートメントを知らなくても値を挿入する前に一時テーブルを作成するときに、SPとUDFはExec()で機能しません。
私はOPENQUERYを考えましたが、パラメータとして変数を受け入れていません。
「実行方法」 - 立ち上がってすぐに歩き始める。スピードを上げ続けるとすぐに走っていくでしょう! ヒント:次回はより良いタイトルを選択してください! – Cerebrus
動的に評価される任意のSQL文字列に基づいてCSVを返す関数は、実際にはすでに*書かれていますか? – Tomalak