Я успешно создал хранимую процедуру, используя два входных параметра и два выходных параметра. когда я выполнил эту процедуру, я получаю сообщение об ошибкеПолучение ошибки «Неверный синтаксис рядом с« - »при выполнении хранимой процедуры
Неправильный синтаксис около «-»
вблизи первого параметра.
ALTER PROCEDURE [dbo].[Agent_interactions_report]
(
@StartDate date,
@EndDate date,
@ERRORCODE AS INT OUTPUT,
@ERRORDESCRIPTION AS VARCHAR(4000) OUTPUT
)
AS
BEGIN
SET NOCOUNT ON;
begin Try
select
cast([CallStartTime] as Date) as Date,
[AgentID] as [Agent ID], [Agent_Name] as [Agent name],
[CustomerID] as [Cust-ID], [Account_Number] as [Account number],
[Transaction_Des] as [Transaction],
CallStartTime AS [Call start time],
CallEndTime AS [Call end time], CallID as [Call ID]
from
[TBL_AGENT_TRANSACTIONS]
where
cast(CallStartTime as DATE) >= @StartDate
and cast(CallEndTime as Date) <= @EndDate
end Try
begin catch
SET @ERRORCODE = ERROR_NUMBER()
SET @ERRORDESCRIPTION = ERROR_MESSAGE()
end catch
END
Это исполняемая результат:
DECLARE @return_value int,
@ERRORCODE int,
@ERRORDESCRIPTION varchar(4000)
EXEC @return_value = [dbo].[Agent_interactions_report]
@StartDate = 2015-04-27,
@EndDate = 2015-04-27,
@ERRORCODE = @ERRORCODE OUTPUT,
@ERRORDESCRIPTION = @ERRORDESCRIPTION OUTPUT
SELECT @ERRORCODE as N'@ERRORCODE',
@ERRORDESCRIPTION as N'@ERRORDESCRIPTION'
Я получаю ошибку возле «@StartDate = 2015-04-27», но когда я выполнил SP вручную, давая эти входы к входные параметры я получаю ожидаемый результат.
Примечание:
Поскольку моя репутация ниже 10 я не должен загрузить скриншот, который будет более полезным для понимания вопроса. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Это думает, что ваш исходный и конечный результат - это строки и, следовательно, «вокруг». –
передайте свои даты как '@StartDate = '2015-04-27'', – ughai
@Allan Да, вы правы, но я сомневаюсь, что это будет строка? В моем Proc я объявил startdate и enddate только с типом данных 'date'? – User