1

1台のサーバー上のデータベースごとに実行したい長いSQLスクリプトがあります。それを行うための最良の方法は何ですか?

私は私の研究でこれを見つけました:

EXEC    sp_msforeachdb  "
IF      '?'     IN ('lib1','lib2','lib3')   

BEGIN
        use ?;
        exec 'my_sp_long_sql_script'
END
"

試してみましたが、各ライブラリにspを作成する必要があり、ループの目的が損なわれました。または、ライブラリごとにspの作成を自動化するにはどうすればよいですか?

私がやりたいのは、データベースごとにlong_sql_scriptを実行することだけです。

4

1 に答える 1

1

ストアドプロシージャの相対名ではなく、完全修飾名を使用して、定義されている場所から取得します。これがSQLServer自体の動作です。

于 2013-03-13T16:24:32.883 に答える