SQL - getDate () не сохраняется как значение для поля [Date] - PullRequest
0 голосов
/ 07 февраля 2012

Я получаю исключение, сообщающее, что «UserReportsAdd ожидает параметр« @Date », который не был предоставлен».

Вот хранимая процедура:

    CREATE PROCEDURE [dbo].[UserReportsAdd] 
        @ID BIGINT OUTPUT,
        @Date datetime,
        @ReportingUser bigint,
        @ReportedUserID bigint,
        @Description nvarchar (2000)
    AS
    BEGIN 
     SET NOCOUNT ON;

    BEGIN
    INSERT INTO UserReports (
        ReportingUser,
        ReportedUserID,
        [Description],
        [Date]
    )
        VALUES (
        @ReportingUser,
        @ReportedUserID,
        @Description,
        getDate()
    )
    END

Зачем мнеполучать сообщение об ошибке, что @Date не указывается, когда я определяю его в операторе вставки и присваиваю ему значение getDate ()?

Спасибо за потраченное время.

Ответы [ 2 ]

3 голосов
/ 07 февраля 2012

Он указан в качестве параметра. Это все, что интерпретатор проверяет в этот момент - есть обязательный параметр, у которого нет значения.

Вы можете либо переместить его из блока параметров и объявить его ниже, либо присвоить ему значение по умолчанию в объявлении @Date = GETDATE()

0 голосов
/ 07 февраля 2012

Код, вызывающий вашу хранимую процедуру, не передает параметр @Date. Код в вашем SP выглядит нормально.

например:

declare @id bigint
declare @date datetime = getdate() -- this one is missing by the calling code
declare @reportingUser bigint = 1
declare @reportedUserId bigint = 1
declare @description nvarchar(2000) = 'some description'

exec [dbo].[UserReportsAdd] @id output, @date /* this is missing */, @reportingUser, @reportedUserId, @descripion
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...