我有两张桌子:
T_Customer
T_Address
在T_Customer
表中有T_Address
外键。
在网页上创建的表单客户可以在那里添加详细信息,如名字,姓氏,地址等。
当客户提交表单时,Adddress详细信息应插入T_Address
表并且T_Address
ID转到T_Customer
表是否可以在单击按钮上创建2个插入操作?
这是否可以加入?
答案 0 :(得分:3)
单个INSERT语句只能影响一个表,尽管您可能有一些触发器反过来影响其他表。但是,您的问题是关于单击一次按钮的操作。这是非常可能的,而且确实非常可取。只需创建一个存储过程并将其作为参数传递给Customer和Address表所需的所有字段。
然后在您的存储过程中,您可以有两个插入,一个插入Customers,一个插入Address。如果您具有参照完整性约束,则必须在地址之前插入客户。
这种方法的优点是存储过程中的所有命令都由同一事务覆盖:它都成功或全部失败,并且只需要往返数据库一次,反过来更快,并且使用更少的资源。