2012-02-01 73 views
3

我想使用我的存儲過程Delete語句,但它給我一個錯誤說,刪除連接語句

無效的對象名稱BRWSQLDC「。

以下是我的DELETE語句:

set @Query = 'DELETE FROM ' + @DestLinkServer + ' FROM .HL2_61.dbo.ArtPDF AP JOIN .HL2_61.dbo.Article A on A.ArticleID = AP.ArticleID ' + ' WHERE ArticleKey = ' + CONVERT(VARCHAR, @Id) 

當我執行它,如下

DELETE FROM BRWSQLDC FROM .HL2_61.dbo.ArticlePDF AP JOIN .HL2_61.dbo.Article A on A.ArticleID = AP.ArticleID WHERE ArticleKey = -1591276581 

錯誤是:無效的對象名稱BRWSQLDC「。

如果我試圖執行的代碼如下:

'DELETE FROM ' + @DestLinkServer + ' .HL2_61.dbo.ArticlePDF AP JOIN .HL2_61.dbo.Article A on A.ArticleID = AP.ArticleID ' + ' WHERE ArticleKey = ' + CONVERT(VARCHAR, @Id) 
傳遞值

DELETE FROM BRWSQLDC .HL2_61.dbo.ArticlePDF AP JOIN .HL2_61.dbo.Article A on A.ArticleID = AP.ArticleID WHERE ArticleKey = -1591276581 

錯誤,我得到的是:

語法不正確靠近'AP'。

請幫助我如何加入2個表中刪除,然後刪除它在服務器中,如果它存在。

回答

3

打動你的別名,但你也應該確定表ArticleKey來自

DELETE AP 
FROM BRWSQLDC.HL2_61.dbo.ArticlePDF AP 
JOIN BRWSQLDC.HL2_61.dbo.Article A -- preface this with your server name for clarity 
    ON A.ArticleID = AP.ArticleID 
WHERE A.ArticleKey = -1591276581 
+0

這是A.ArticleKey – user1005479 2012-02-01 14:21:52

+0

更新查詢與A.ArticleKey – Taryn 2012-02-01 14:23:09

+0

非常感謝它現在正在工作 – user1005479 2012-02-01 14:53:45

4

你不需要一個連接,而是一個合適的WHERE子句。

1

當您使用加入你必須告訴從表要刪除行:之後您刪除

DELETE dbo.Customer 
FROM dbo.Customer cust INNER JOIN dbo.Person pers ON pers.ID_CUST = cust.ID_CUST