开发者社区> 问答> 正文

执行插入,然后登录一个SQL命令

我被要求实现一些代码,这些代码将更新MS SQL Server数据库中的一行,然后使用存储的proc将更新插入历史表中。由于我们无法控制数据库,因此我们无法添加存储的proc来执行此操作。我知道您可以在存储过程中进行更新,然后在另一个存储过程中调用execute。我可以使用一个SQL命令将其设置为在代码中执行此操作吗?

展开
收起
心有灵_夕 2019-12-28 22:35:16 436 0
1 条回答
写回答
取消 提交回答
  • 您实际上并不需要为此存储的过程。问题的实质归结为您是否可以控制所有插入物。如果实际上您可以访问所有插入,则只需将插入包装到数据表中,然后将插入包装到历史表中就可以。这将确保两者都完成以使“成功”发生。但是,在事务中按顺序访问表时,您需要确保不先锁定historytable再锁定datatable,否则可能会出现死锁情况。

    但是,如果您无法控制插入,则可以将触发器添加到某些数据库系统,从而使您可以访问修改,插入或删除的数据。它可能会或可能不会为您提供所需的所有数据,例如谁执行了插入,更新或删除操作,但它会告诉您更改了什么。

    2019-12-28 22:35:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载