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