删除连接语句
问题描述:
我想使用我的存储过程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
答
你不需要一个连接,而是一个合适的WHERE子句。
答
当您使用加入你必须告诉从表要删除行:之后您删除
DELETE dbo.Customer
FROM dbo.Customer cust INNER JOIN dbo.Person pers ON pers.ID_CUST = cust.ID_CUST
这是A.ArticleKey – user1005479 2012-02-01 14:21:52
更新查询与A.ArticleKey – Taryn 2012-02-01 14:23:09
非常感谢它现在正在工作 – user1005479 2012-02-01 14:53:45