Ошибка недопустимого объекта при вставке после чтения той же таблицы - PullRequest
0 голосов
/ 15 июня 2011

Я пытаюсь вставить данные в таблицу, основываясь на том, что уже есть в таблице.Я читаю таблицу, чтобы получить количество записей, вставленных за определенный месяц, а затем вставляю информацию на основе, если она больше или меньше десяти.После того, как я прочитал таблицу, он выбрасывает неверное имя объекта, когда я пытаюсь сделать эту вставку.Это не недействительный объект, так как он просто читает таблицу.Если это ошибка прав доступа, как я могу ее исправить?Мой код ниже.Спасибо,

Джейсон

declare @email VARCHAR(75),
        @seminarNumber INT,
        @isValidEmail BIT,
        @monthlyTotal INT,
        @statusCode INT
set @email = 'email@domain.com'
set @seminarNumber = '12345'

set @isValidEmail = dbo.RegexMatch('^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$',@email)

if @isValidEmail = 1
    begin
        SELECT @monthlyTotal = count(mailid)
        from Email_Tracking
        where emailaddress = @email
        and year(datesent) = year(getdate())
        and month(datesent) = month(getdate())
        if @monthlyTotal > 10
            begin
                set @statusCode = 1
            end
        else
            begin
                set @statusCode = 2
            end
    end
else
    begin
        set @statusCode = 3
    end

if @statusCode = 1
    begin
        insert Email_Tracking ('seminarNumber','email','reasonNotSent')
        values(@seminarNumber,@email,'Maximum  surveys for the month have already been sent')
    end
else if @statusCode = 2
    begin
        insert Email_Tracking ('seminarNumber','email','datesent')
        values(@seminarNumber,@email,getdate())
    end
else if @statusCode = 3
    begin
        insertEmail_Tracking ('seminarNumber','email','reasonNotSent')
        values(@seminarNumber,@email,'Email address missing or invalid')
    end

print @statusCode

1 Ответ

0 голосов
/ 29 июня 2011

попробуйте удалить кавычки из имен столбцов.например, для:

insert Email_Tracking (seminarNumber,email,reasonNotSent)
values(@seminarNumber,@email,'Email address missing or invalid')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...