【发布时间】:2021-11-21 21:34:08
【问题描述】:
我正在尝试在来自不同数据库的 2 个表之间执行简单的 SQL 更新。挑战在于,为了更新值,它必须满足某些条件。我已经使用连接语句来满足条件,当我去测试表 B 中的值时,它没有被更新到表 A 中。这是我到目前为止所做的。
USE [dbo]
GO
CREATE PROCEDURE
(
@User_ID = INT,
@Batch_ID VARCHAR(32)
)
DECLARE @locid int
SELECT @locid
FROM OtherDB.dbo.User AS UL
WHERE UL.User_ID = @User_Id
and User_Type = 1;
UPDATE M
SET
M.Number = W.Number
FROM dbo.tableA AS W
JOIN dbo.tableB AS B ON B.ID = W.ID
JOIN dbo.tableC AS C ON C.ToolA = B.ToolA
JOIN dbo.tableD as D ON D.Zone = W.Zone_Name
JOIN OtherDB.dbo.tableMax AS M ON M.LID = @locid
AND M.Tool = C.Other_Tool
AND M.Zone = D._Other_Zone
AND M.Station = W.Station
WHERE W.User_ID = @User_ID
AND W.Batch_ID = @Batch_ID
SET NOCOUNT OFF;
【问题讨论】:
-
MySQL SQL Server - 请更正您的标签。
-
对不起,谢谢
标签: mysql sql sql-server sql-update