0

私は69のテーブルを持つデータベースを持っています。

これをエクスポートするのを手伝ってください

exec sp_MSforeachtable 'select top 3 * from ?'

この行は、各テーブルの上位3つのレコードをフェッチし、それらを[結果]タブに出力します(この質問のとおり)。

結果を.xlsファイルにエクスポートしたいと思います。

sp_makewebtaskを使用するこのソリューションを試しましたが、現在は減価償却されていることを理解しています。

手伝ってもらえますか?

どうもありがとう、

フィル

PSデータベースはMSSQL2008で実行されます

4

1 に答える 1

0

まず、クエリにを追加する必要がある場合がありORDER BYます。これがないと、各テーブルから3つのランダムな行が取得されます。これは、必要な場合とそうでない場合があります。

次に、これは1回限りの作業ですか、それとも定期的に行うことですか。1回限りのタスクの場合は、クエリスクリプトを動的に生成し、手動で実行して、結果を自分でコピーして貼り付けます。これにより、スクリプトを生成する方法についてのアイデアが得られる可能性があります。

select 'select top 3 * from ' + quotename(name) + ' order by SomeColumn union all '
from sys.tables
where... -- add something here if necessary

これを定期的に行う必要がある場合は、データベース外のファイルを操作するための言語が非常に貧弱であるため、TSQLを避けます。代わりに、データベースに接続し、データを取得して出力ファイルを書き込むための小さなスクリプトを作成する方が簡単な場合がよくあります。最も便利なスクリプト言語またはプログラミング言語を使用して、SQL Agentでスケジュールすることができます(SQL Serverのエディションで使用可能な場合)。

于 2012-07-31T17:08:47.483 に答える