1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| USE [Clark]
GO
/****** Object: StoredProcedure [dbo].[sp_ClarkMail] Script Date: 03/11/2011 20:23:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
ALTER PROCEDURE [dbo].[sp_ClarkMail]
AS
BEGIN
SET NOCOUNT ON
DECLARE @str nvarchar(max);
DECLARE @Chauffeur INT;
DECLARE @Name VARCHAR(80);
DECLARE @Result VARCHAR(MAX);
SET @Chauffeur = 0
WHILE EXISTS
(
SELECT *
FROM dbo.TotalChauffeur
WHERE MailStatus = 0
)
BEGIN
SELECT TOP 1 @Chauffeur = ChauffeurID
, @Name = 'Gedaan en leeg :' + ChauffeurName
FROM dbo.TotalChauffeur
WHERE MailStatus = 0;
SET @Result='SELECT
ChauffeurID
,ChauffeurName
,Date
,tarra
,bruto
,(bruto-tarra) as Neto
FROM Clark.dbo.BakMove
where
ChauffeurID='+CAST(@Chauffeur AS varchar(10))
+' AND TotalStatus<>1
union
SELECT
ChauffeurID
,'+'''Total'''+' as ChauffeurName
,Max(Date)
,sum(tarra)
,sum(bruto)
,(sum(bruto)-sum(tarra)) as Neto
FROM Clark.dbo.BakMove
where
ChauffeurID='+CAST(@Chauffeur AS varchar(10))
+' AND TotalStatus=2
group by ChauffeurID
order by Date';
-- SET @str='SELECT * FROM [Clark].[dbo].[TotalChauffeur]
-- WHERE ChauffeurID=' + CAST(@Chauffeur AS varchar(10));
EXEC msdb.dbo.sp_send_dbmail
@recipients = 'ogb@skynet.be;carol@recutex.be;christophe@recutex.be;frederik@recutex.be',
@query = @Result ,
@attach_query_result_as_file = 0,
@subject = @Name;
-- @Body = @Result;
UPDATE TotalChauffeur
SET MailStatus=1
WHERE ChauffeurID=@Chauffeur;
UPDATE
Clark.dbo.BakMove
SET TotalStatus=1
WHERE ChauffeurID = @Chauffeur AND TotalStatus=2;
END
END |
Partager