0

クエリを実行してから dbmail を呼び出すストアド プロシージャがあります。メール メッセージには、実行されたクエリの結果が含まれます。ストアド プロシージャと dbmail の @query の両方で、パラメータ/変数をクエリに渡したいと考えています。以下は実行方法ですが、パラメーター (@Threshold) が dbmail ブロッ​​クに渡されていないため、エラーが発生します。これどうやってするの?

ALTER PROCEDURE [dbo].[spMyProcedure] @Threshold float

AS

IF EXISTS (SELECT Fields FROM Table
WHERE DataValue < @Threshold AND LocalDateTime >= DATEADD(hour, -24, SYSDATETIME())
GROUP BY Fields)

BEGIN

SET NOCOUNT ON

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Profile',
@from_address = 'data@data.com',
@recipients = 'data@data.com',
@subject = 'Data Warning',
@body = 'The following results are outside the defined range.',
@query = 'SELECT Fields FROM Table
WHERE DataValue < @Threshold AND LocalDateTime >= DATEADD(hour, -24, SYSDATETIME())
GROUP BY Fields' ;

END
4

1 に答える 1