[英]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.