我使用SQL語句刪除另一個數據庫上存在的記錄,但這需要很長時間。改善asp腳本性能,需要3分鐘以上運行
下面的代碼還有其他替代方法可以更快嗎?數據庫是Access。
email_DB.mdb是從哪兒我想刪除的電子郵件地址的其他數據庫(表Newsletter_Subscribers) customers.mdb是其他數據庫上存在(Customers表)
SQLRemoveDupes = "DELETE FROM Newsletter_Subscribers WHERE EXISTS (select * from [" & strDBPath & "Customers].Customers " _
& "where Subscriber_Email = Email or Subscriber_Email = EmailO)"
NewsletterConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & strDBPath & "email_DB.mdb"
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = NewsletterConn
MM_editCmd.CommandText = SQLRemoveDupes
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
Set MM_editCmd = Nothing
編輯:試過下面SQL從其中一個答案,但我不斷收到錯誤運行時:
SQL:DELETE FROM Newsletter_Subscribers WHERE客戶ID IN(從選擇客戶ID [ 「& strDBPath &」 客戶] .Customers其中Subscriber_Email =電子郵件或Subscriber_Email =埃瑪ilO)
我得到一個「參數太少。預計1「的Execute行錯誤信息
IIRC,該消息可能意味着你使用的是不存在的列名,因此它處理它像一個參數。 – dkretz 2008-11-29 18:06:48
DELETE和FROM之間應該有* * – AnonJr 2009-03-09 07:20:07