バックグラウンドで別のプロシージャを非同期で実行する必要があります。T-SQLを使用してバックグラウンドで別のプロシージャを実行する
procedure1:
CREATE PROCEDURE procedure1
WITH EXECUTE AS OWNER
AS
BEGIN
//something happens here
EXEC procedure2
//something happens here
END
プロシージャ2:
CREATE PROCEDURE procedure2
WITH EXECUTE AS OWNER
AS
BEGIN
WAITFOR DELAY '00:02'
END
私は最後までプロシージャ2を待たずに実行するprocedure1を必要としています。私は他の記事で、この答えを読んだ:
かつて私は仕事に格納 プロシージャをラップすることにより、これを達成しようとしたし、その後 sp_start_jobシステムSPを通じて手順で仕事を呼び出すがありました。 EXEC dbo.sp_start_job N'Job名 ';
でもわかりません。誰も私にそれを説明することはできますか?それは何か進んだように見えないので、私は私が望むものを達成することができません。
ありがとうございました。残念ながら私はSQL ServerのExpress版を持っているので、SQL Server Agentは使用できません。 – Artur
@ArturこのSQL Serverは何を使用していますか?個人的なプロジェクトの場合は、フル装備のDevバージョン2016を無料で使用できます。 – iamdave
@Arturこれは正確なコピーではありませんが、SQLの 'バックグラウンド'で何かを実行するというアイデアは、iamdaveが言っていることよりも好ましいでしょう。 SQL Expressを使用する必要がある場合の回避策は、代わりにWindowsタスクスケジューラを実行し、SQLバッチスクリプトを作成することです。だからここにスレッドがあります:http://stackoverflow.com/questions/7201061/how-to-create-jobs-in-sql-server-express-edition – djangojazz