2
我知道您可以使用连接从多个表中选择多个列。是否有可能使用连接更新多个表中的多个列?使用内部连接更新多个表
我知道您可以使用连接从多个表中选择多个列。是否有可能使用连接更新多个表中的多个列?使用内部连接更新多个表
没有。
您一次只能做一个表UPDATE
或INSERT
。
如果你需要做的倍数,你可以将它们括在一个事务,以确保它们都通过或失败在一起,虽然:
BEGIN TRY
BEGIN TRAN
UPDATE Table1
SET Col1=Value1
UPDATE Table2
SET Col2=Value2
COMMIT TRAN
END TRY
BEGIN CATCH
IF @@TRANCOUNT>0 ROLLBACK
<error message reporting here>
END CATCH
不可能的,除非你的基础表上使用触发器
您还需要某种形式的错误处理 - 否则,如果第一次更新中出现错误,则会报告,然后继续并执行第二次更新并提交事务。 –
@Damien - 真的,我只是没有添加它。我会立刻在那里扔一些东西。 – JNK
(只需点击编辑将前两行代码移动到代码块中) –