[英]How can i query data from a table in Ms Access in my SQL server 2005 stored procedure?
[英]Create stored procedure in SQL Server from a MS Access update query
我正在嘗試創建我的第一個存儲過程。
我確實將以下 SQL 從 MS Access 復制到了 SQL 服務器存儲過程,並且出現“LEFT JOIN”語法錯誤。 有什么問題?
UPDATE dbo.AssemblyInstanceMassProperties
LEFT JOIN dbo.BOM ON dbo.AssemblyInstanceMassProperties.ID = dbo.BOM.AssemblyInstanceID
SET dbo.AssemblyInstanceMassProperties.NumberofSubInstance = 1
WHERE (((dbo.BOM.AssemblyInstanceID) IS NULL));
在 TSQL 中,對於涉及多個表的更新,您應該始終首先編寫 SELECT 語句並對其進行更新。 並且始終使用表別名。 並且總是用;
終止每個語句 .
因此,首先編寫一個返回要更新的行的查詢,明確列出 UPDATE 中涉及的所有列:
SELECT p.NumberofSubInstance, *
FROM dbo.AssemblyInstanceMassProperties p
LEFT JOIN dbo.BOM b
ON p.ID = b.AssemblyInstanceID
WHERE b.AssemblyInstanceID Is Null;
然后當你確信你有正確的行時,把它變成這樣的更新:
with q as
(
SELECT p.NumberofSubInstance
FROM dbo.AssemblyInstanceMassProperties p
LEFT JOIN dbo.BOM b
ON p.ID = b.AssemblyInstanceID
WHERE b.AssemblyInstanceID Is Null
)
update q set NumerOfSubInstance = 1;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.