2011-06-15 23 views
0

我試圖根據表中已有的數據插入數據。我讀了表格以獲取插入一個certian月份的記錄數量,然後在基於關閉的信息大於或小於十的情況下插入信息。在我讀完表格後,當我嘗試插入時會拋出一個無效的對象名稱。它不是一個無效的對象,因爲它只是讀取表格。如果這是一個權限錯誤,我該如何糾正它?我的代碼如下。謝謝,在讀取同一表後插入無效的對象錯誤

傑森

declare @email VARCHAR(75), 
     @seminarNumber INT, 
     @isValidEmail BIT, 
     @monthlyTotal INT, 
     @statusCode INT 
set @email = '[email protected]' 
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 
+0

什麼是確切的錯誤消息,請?我期望「不存在或沒有權限」或類似的東西。然而,這是一個重要的信息... – gbn 2011-06-15 18:30:05

+0

我會假設'insertEmail_Tracking'不是一個對象(在else之後,如果@statusCode = 3')? – 2011-08-09 14:11:57

回答

0

嘗試刪除從列名的報價。所以例如:

insert Email_Tracking (seminarNumber,email,reasonNotSent) 
values(@seminarNumber,@email,'Email address missing or invalid') 
相關問題