如何更新一系列“中的同一列”;相同的;SQL表
第一个帖子。。。如果答案在这里,我道歉——我已经找到了类似问题的答案,但不是这个。我的SQL知识不是很好,尽管我通常可以实现我需要的 数据库中有同名的表,例如AHH_ACNT、AHL_ACNT等。我可以通过一个简单的update语句实现我所需要的-如何更新一系列“中的同一列”;相同的;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
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