Asp.net 一次更新多个表-SQL Server/T-SQL
我有两张桌子,顾客和顾客电话 Customer中的单个记录可以有多个CustomerPhone记录。如下图所示,电话和传真位于CustomerPhone表中,而其余字段位于Customer表中。如果用户想要编辑客户记录,显然我必须更新客户表中的记录以及来自CustomerPhone(电话和传真)的至少两条记录Asp.net 一次更新多个表-SQL Server/T-SQL,asp.net,sql,sql-server,winforms,tsql,Asp.net,Sql,Sql Server,Winforms,Tsql,我有两张桌子,顾客和顾客电话 Customer中的单个记录可以有多个CustomerPhone记录。如下图所示,电话和传真位于CustomerPhone表中,而其余字段位于Customer表中。如果用户想要编辑客户记录,显然我必须更新客户表中的记录以及来自CustomerPhone(电话和传真)的至少两条记录 我可以写两个update语句,一个updatecustomerphone,第二个updatecustomer表。有更好的解决方案吗?在这种情况下,风险在于一个更新成功,但另一个由于某种原
我可以写两个update语句,一个updatecustomerphone,第二个updatecustomer表。有更好的解决方案吗?在这种情况下,风险在于一个更新成功,但另一个由于某种原因(网线被拔出、电源故障等)而失败,这将导致数据库中的数据不正确 你可以用两种方法克服这个问题
上面的第二个选项可能会给您带来问题,因为您可以为一个客户提供许多电话号码,这将是有限的,因此我建议运行单独的更新,但在事务中执行。这种情况下的风险是一个更新成功,但另一个由于某种原因失败(网络电缆被拔下、电源故障等),这将导致数据库中的数据不正确 你可以用两种方法克服这个问题
上面的第二个选项可能会给您带来问题,因为您可以为客户提供多个电话号码,这将是一个限制,因此我建议运行单独的更新,但在事务中进行更新。关于此选项的几种方法:
- 在事务(对象)中编写两条update语句
- 编写一个执行更新的存储过程并使用SQL
- 两者
- 在事务(对象)中编写两条update语句
- 编写一个执行更新的存储过程并使用SQL
- 两者
- 关于这一点,有几种方法: