如何解决读取同一张表后,插入时出现无效的对象错误
| 我试图根据表中已有的内容将数据插入表中。我阅读了该表,以获取一个特定月份插入的记录数,然后基于大于或小于十的信息插入信息。读取表后,当我尝试执行该插入操作时,它将引发无效的对象名称。它不是无效的对象,因为它只是读取表。如果这是权限错误,我该如何纠正?我的代码如下。谢谢, 杰森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\',\'datesent\')
values(@seminarNumber,getdate())
end
else if @statusCode = 3
begin
insertEmail_Tracking (\'seminarNumber\',\'Email address missing or invalid\')
end
print @statusCode
解决方法
尝试从列名中删除引号。因此例如:
insert Email_Tracking (seminarNumber,email,reasonNotSent)
values(@seminarNumber,@email,\'Email address missing or invalid\')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。