1
다음 저장 프로 시저가 있습니다. 이 코드로 저장 프로 시저를 실행하려고하면;매개 변수가있는 저장 프로 시저 실행 SQL Server 2005
간부 인 [교통]. [dbo가]. [Delivery_Manifest_email] @RunNo = '3'
나는 다음과 같은 오류에게 메시지 8146, 수준 16, 상태 2, 프로 시저 Delivery_Manifest_email, 라인을 얻을 0
Procedure Delivery_Manifest_email에는 매개 변수가없고 인수가 제공되었습니다.
@RunNo
매개 변수를 전달하려고하는데 구문이 잘못 나타나는 이유를 알 수 없습니다. 저장 프로 시저 자체에서 @RunNo
매개 변수를 수동으로 설정할 때 저장 프로시 저는 잘 실행됩니다. 나는 이런 식으로하고 싶지 않다. SQL Server 2005입니다.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Delivery_Manifest]
AS
DECLARE @tableHTML NVARCHAR(MAX);
DECLARE @HTMLBody NVARCHAR(MAX)
DECLARE @XML NVARCHAR(MAX)
DECLARE @s NVARCHAR(MAX)
DECLARE @Driver NVARCHAR(MAX)
DECLARE @Lorry NVARCHAR(MAX)
DECLARE @recip NVARCHAR(MAX)
DECLARE @varCheck BIT
DECLARE @DueDate VARCHAR(10)
DECLARE @RunNo NVARCHAR(MAX)
SET @DueDate = '27/06/2016'
SET @Driver = 'Test
SET @Lorry ='Test'
SET @s = 'Delivery Manifest for: ' +CONVERT(VARCHAR(12),GETDATE(),107) +', Run number '[email protected] + ', ' [email protected] +', ' [email protected]
SET @recip = '[email protected]'
IF EXISTS (SELECT [OrderNoOnManifest], [Lorry], [Driver], [Name], [Town], [POSTCODE], [Telephone], [DELIVERY NOTE], [Notes], [Shipping Weight (Kg)], [PackagingLength], [District], [ServiceLevel], [SpecificDelTime] FROM [Transport].[dbo].[DELIVERY_MANIFEST_MASTER] WHERE [Due Date] = @DueDate and [Run No] = @RunNo)
SET @tableHTML = '<style type="text/css">
table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #9dcc7a;border-collapse: collapse;}
table.tftable th {font-size:12px;color:#ffffff;background-color:#ff1a00;border-width: 1px;padding: 8px;border-style: solid;border-color: #9dcc7a;text-align:left;}
table.tftable tr {background-color:#ffffff;}
table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #9dcc7a;}
</style>
<body>
'
+ @s +'<p style="text-align:left;"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;text-decoration:none;text-transform:none;color:000033;"> </span>
</p>
<br>
<table class="tftable" border="2">'
+ N'<th>Order</th>'
+ N'<th>Customer</th>'
+ N'<th>Town</th>'
+ N'<th>Postcode</th>'
+ N'<th>Tel. No.</th>'
+ N'<th>Order No</th>'
+ N'<th>Notes</th>'
+ N'<th>Weight (Kg)</th>'
+ N'<th>Dimension</th>'
+ N'<th>Instructions</th>'
+ N'<th>Service Level</th>'
+ N'<th>Delivery Time By</th></tr>'
+ CAST (( SELECT
td = [OrderNoOnManifest], ''
, td = [Name] , ''
, td = [Town], ''
, td = [POSTCODE] ,''
, td = [Telephone],''
, td = [DELIVERY NOTE],''
, td = [Notes],''
, td = [Shipping Weight (Kg)],''
, td = [PackagingLength],''
, td = isnull([District],'None'),''
, td = isnull([ServiceLevel],0),''
,td = isnull([SpecificDelTime],0),''
FROM [Transport].[dbo].[DELIVERY_MANIFEST_MASTER]
WHERE [Due Date] = @DueDate and [Run No] = @RunNo
ORDER BY [OrderNoOnManifest] asc
FOR
XML PATH('tr')
, TYPE
) AS NVARCHAR(MAX)) + N'</table>'
+'<br>'
+'<br>'
+ '<p style="text-align:left;"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:bold;text-decoration:none;text-transform:none;color:000033;">TEST DELIVERY MANIFEST EMAIL</span>
'
BEGIN
EXEC msdb.dbo.sp_send_dbmail
@blind_copy_recipients = @recip,
@profile_name = 'Test',
@subject = @s,
@body = @tableHTML,
@body_format = 'HTML' ;
END
감사합니다. – Andy