如何更新一系列“中的同一列”;相同的;SQL表

如何更新一系列“中的同一列”;相同的;SQL表,sql,Sql,第一个帖子。。。如果答案在这里,我道歉——我已经找到了类似问题的答案,但不是这个。我的SQL知识不是很好,尽管我通常可以实现我需要的 数据库中有同名的表,例如AHH_ACNT、AHL_ACNT等。我可以通过一个简单的update语句实现我所需要的- BEGIN TRAN GO UPDATE AHH_ACNT SET ALLOCN_IN_PROGRESS = 99 WHERE ALLOCN_IN_PROGRESS = 1 SELECT * FROM AHH_ACNT WHERE ALLOCN_IN

第一个帖子。。。如果答案在这里,我道歉——我已经找到了类似问题的答案,但不是这个。我的SQL知识不是很好,尽管我通常可以实现我需要的

数据库中有同名的表,例如AHH_ACNT、AHL_ACNT等。我可以通过一个简单的update语句实现我所需要的-

BEGIN TRAN
GO
UPDATE AHH_ACNT
SET ALLOCN_IN_PROGRESS = 99
WHERE ALLOCN_IN_PROGRESS = 1
SELECT * FROM AHH_ACNT
WHERE ALLOCN_IN_PROGRESS =1
ROLLBACK
--COMMIT


BEGIN TRAN
GO
UPDATE AHL_ACNT
SET ALLOCN_IN_PROGRESS = 99
WHERE ALLOCN_IN_PROGRESS = 1
SELECT * FROM AHL_ACNT
WHERE ALLOCN_IN_PROGRESS = 1
ROLLBACK
--COMMIT 
但这样做涉及26个单独的声明。理想情况下我会写信 更新%\u ACNT,但这不起作用! 有没有一种方法可以用一个查询来实现这一点?如果有一个新表,我就不必再创建一组行了


非常感谢

请注意,在一个update语句中不能更新多个表。最好的方法之一是使用一个事务(如下所示)来确保两个UPDATE语句的处理方式不需要担心操作的部分完成

BEGIN TRANSACTION

UPDATE AHH_ACNT
SET ALLOCN_IN_PROGRESS = 99
WHERE ALLOCN_IN_PROGRESS = 1

UPDATE AHL_ACNT
SET ALLOCN_IN_PROGRESS = 99
WHERE ALLOCN_IN_PROGRESS = 1

COMMIT

请注意,在一个update语句中不能更新多个表。最好的方法之一是使用一个事务(如下所示)来确保两个UPDATE语句的处理方式不需要担心操作的部分完成

BEGIN TRANSACTION

UPDATE AHH_ACNT
SET ALLOCN_IN_PROGRESS = 99
WHERE ALLOCN_IN_PROGRESS = 1

UPDATE AHL_ACNT
SET ALLOCN_IN_PROGRESS = 99
WHERE ALLOCN_IN_PROGRESS = 1

COMMIT