我有两个表中存在?值必须在两个表
Q
值必须在两个表
2
A
回答
4
这不能与声明引用完整性(DRI)单独完成。添加外键约束只是解决方案的一部分。您还需要将插入操作的事务和业务逻辑封装到2个表中。我建议在存储过程中执行此操作,以便从应用程序的角度以原子操作方式运行。
Begin Transaction
Logic around inserting a Customer
Logic around inserting CustomerPhone row
If the newly added Customer has a CustomerPhone
Commit Transaction
Else
Rollback Transaction
2
使cust_id
成为表customer
上的主键。
然后在表customerphone
上制作cust_id
一个外键,该表上的指向customer
。
这时如果cust_id
在customer
已经存在,你只能行添加到customerphone
。
0
您可以使用CUST_ID从客户作为主键,使用外键限制在customerphone CUST_ID。
您可以使用本手册指导自己: https://technet.microsoft.com/en-us/library/ms175464(v=sql.105).aspx
相关问题
- 1. 为什么两个SqlDataAdaptor都必须指定两次表?
- 2. 属性值必须在@Retryable
- 3. iphone 5我必须做两个xib
- 4. 必须登录两次plone
- 5. 我必须登录两次
- 6. SSRS必须包含结果集中的两个值
- 7. 必须赋值赋值
- 8. 表达必须修改的左值
- 9. 表达必须是可修改值(C)
- 10. 表达式必须是L值
- 11. C++,表达必须修改的左值
- 12. 必须在jQuery上点击两次
- 13. 必须在适配器中读取对象值两次
- 14. 主要必须返回一个值
- 15. 管理两个组合框,其中只有一个必须有一个值
- 16. 值必须大于无穷
- 17. Laravel 4:值必须提供
- 18. 必须单击两次才能在IE8中提交表单
- 19. 必须在表上重建索引两次
- 20. 必须是一个列表或元组
- 21. 表达式必须是一个可修改的左值 - 数组
- 22. 表达必须是一个可修改的L值
- 23. C++类表达式必须是一个修改的左值
- 24. 错误:表达式必须有一个常数值
- 25. 2-d阵列 - 表达必须有一个恒定值误差
- 26. 停止操作POST,在jquery中必须有两个('if')。验证我的表格
- 27. 您必须定义此表
- 28. R - 馅饼,X值必须为正值
- 29. 放在一个输入框的默认值必须在点击
- 30. 必须登录两次:angular js
您是否考虑过外键? – HoneyBadger
不,我不知道如何解释,但每个客户都必须有一个客户电话 – Yakalent
如何将客户电话放在客户桌上而不是自己的桌上?或者客户可以有多个电话号码?由于无法同时插入两个表(尽管存在交易),因此无法确保记录必须存在于两个表中。 –