SQLサーバーのジョブでプロシージャを実行したいのですが、やり方がわかりません。
以下のようなプロシージャを呼び出して決まった時間にcsvを生成したいです。
ジョブのステップでt-sqlを選択し、コマンドに以下のような文を入れればいいのでしょうか。
それともEXECUTE makeCsv をコマンドに書けばよいのでしょうか。
create procedure makeCsv as begin DECLARE @BCPSTR varchar(1000) DECLARE @filename varchar(20) SET @filename = CONVERT(varchar,datename(year,GETDATE())) SET @filename = @filename + CONVERT(varchar,datename(month,GETDATE())) SET @filename = @filename + CONVERT(varchar,datename(day,GETDATE())) SET @filename = @filename + '結果' set @BCPSTR = '' set @BCPSTR = @BCPSTR + 'bcp ' set @BCPSTR = @BCPSTR + '"select * from Table_function()"' set @BCPSTR = @BCPSTR + ' queryout' set @BCPSTR = @BCPSTR + ' C:\Temp\' + @filename + '.csv' set @BCPSTR = @BCPSTR + ' -c -t, -S mmm -T' EXECUTE master..xp_cmdshell @BCPSTR end
回答1件
あなたの回答
tips
プレビュー