读取同一张表后,插入时出现无效的对象错误

问题描述

| 我试图根据表中已有的内容将数据插入表中。我阅读了该表,以获取一个特定月份插入的记录数,然后基于大于或小于十的信息插入信息。读取表后,当我尝试执行该插入操作时,它将引发无效的对象名称。它不是无效的对象,因为它只是读取表。如果这是权限错误,我该如何纠正?我的代码如下。谢谢, 杰森
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\')
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...