我有兩個表中存在?值必須在兩個表
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. SQL列值必須存在於這兩個表中
- 2. 必須匹配多個值
- 3. 爲什麼兩個SqlDataAdaptor都必須指定兩次表?
- 4. 屬性值必須在@Retryable
- 5. iphone 5我必須做兩個xib
- 6. 必須登錄兩次plone
- 7. 必須按'x'兩次
- 8. 必須推QPushbutton兩次
- 9. 我必須登錄兩次
- 10. 必須賦值賦值
- 11. SSRS必須包含結果集中的兩個值
- 12. 表達式必須是L值
- 13. C++,表達必須修改的左值
- 14. 表達必須修改的左值
- 15. 表達式必須是左值
- 16. 表達必須是可修改值(C)
- 17. 表達必須修改的左值
- 18. 必須在jQuery上點擊兩次
- 19. 必須在適配器中讀取對象值兩次
- 20. 主要必須返回一個值
- 21. 'LList :: operator =':必須返回一個值
- 22. 如何創建一個必須滿足兩個值的謂詞,其中一個是值列表?
- 23. Laravel 4:值必須提供
- 24. 值必須大於無窮
- 25. 管理兩個組合框,其中只有一個必須有一個值
- 26. 必須在表上重建索引兩次
- 27. 必須單擊兩次才能在IE8中提交表單
- 28. 在MS Access中,必須比較兩個不同表中的值,並找出值之間的差異?
- 29. MySQL必須匹配兩個表中的兩列......否則返回空結果?
- 30. 必須是一個列表或元組
您是否考慮過外鍵? – HoneyBadger
不,我不知道如何解釋,但每個客戶都必須有一個客戶電話 – Yakalent
如何將客戶電話放在客戶桌上而不是自己的桌上?或者客戶可以有多個電話號碼?由於無法同時插入兩個表(儘管存在交易),因此無法確保記錄必須存在於兩個表中。 –