删除连接语句

问题描述:

我想使用我的存储过程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个表中删除,然后删除它在服务器中,如果它存在。

打动你的别名,但你也应该确定表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

你不需要一个连接,而是一个合适的WHERE子句。

当您使用加入你必须告诉从表要删除行:之后您删除

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